resin 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/amber/css/amber-normalize.css +73 -73
- data/amber/css/amber-normalize.less +1 -1
- data/amber/css/amber.css +106 -106
- data/amber/css/helios.css +242 -0
- data/amber/images/hsplitter.png +0 -0
- data/amber/images/vsplitter.png +0 -0
- data/amber/js/Benchfib.deploy.js +116 -38
- data/amber/js/Benchfib.js +120 -42
- data/amber/js/Canvas.deploy.js +674 -403
- data/amber/js/Canvas.js +682 -411
- data/amber/js/Compiler-AST.deploy.js +1150 -0
- data/amber/js/Compiler-AST.js +1591 -0
- data/amber/js/Compiler-Core.deploy.js +1562 -0
- data/amber/js/Compiler-Core.js +1972 -0
- data/amber/js/Compiler-Exceptions.deploy.js +114 -0
- data/amber/js/Compiler-Exceptions.js +161 -0
- data/amber/js/Compiler-IR.deploy.js +2326 -0
- data/amber/js/Compiler-IR.js +3146 -0
- data/amber/js/Compiler-Inlining.deploy.js +1147 -0
- data/amber/js/Compiler-Inlining.js +1514 -0
- data/amber/js/Compiler-Semantic.deploy.js +1207 -0
- data/amber/js/Compiler-Semantic.js +1628 -0
- data/amber/js/Compiler-Tests.deploy.js +646 -60
- data/amber/js/Compiler-Tests.js +843 -82
- data/amber/js/Compiler.deploy.js +1097 -159
- data/amber/js/Compiler.js +1414 -161
- data/amber/js/Examples.deploy.js +31 -15
- data/amber/js/Examples.js +33 -17
- data/amber/js/Helios-Announcements.deploy.js +127 -0
- data/amber/js/Helios-Announcements.js +157 -0
- data/amber/js/Helios-Browser.deploy.js +1473 -0
- data/amber/js/Helios-Browser.js +1953 -0
- data/amber/js/Helios-Commands.deploy.js +403 -0
- data/amber/js/Helios-Commands.js +563 -0
- data/amber/js/Helios-Core.deploy.js +1070 -0
- data/amber/js/Helios-Core.js +1445 -0
- data/amber/js/Helios-Environments.deploy.js +132 -0
- data/amber/js/Helios-Environments.js +179 -0
- data/amber/js/Helios-Inspector.deploy.js +855 -0
- data/amber/js/Helios-Inspector.js +1155 -0
- data/amber/js/Helios-KeyBindings.deploy.js +753 -0
- data/amber/js/Helios-KeyBindings.js +1023 -0
- data/amber/js/Helios-Layout.deploy.js +383 -0
- data/amber/js/Helios-Layout.js +523 -0
- data/amber/js/Helios-Workspace.deploy.js +799 -0
- data/amber/js/Helios-Workspace.js +1074 -0
- data/amber/js/IDE.deploy.js +2541 -1490
- data/amber/js/IDE.js +2721 -1660
- data/amber/js/Importer-Exporter.deploy.js +671 -0
- data/amber/js/Importer-Exporter.js +816 -0
- data/amber/js/Kernel-Announcements.deploy.js +137 -20
- data/amber/js/Kernel-Announcements.js +176 -22
- data/amber/js/Kernel-Classes.deploy.js +555 -168
- data/amber/js/Kernel-Classes.js +662 -205
- data/amber/js/Kernel-Collections.deploy.js +1403 -618
- data/amber/js/Kernel-Collections.js +1545 -690
- data/amber/js/Kernel-Exceptions.deploy.js +109 -45
- data/amber/js/Kernel-Exceptions.js +123 -49
- data/amber/js/Kernel-Methods.deploy.js +196 -81
- data/amber/js/Kernel-Methods.js +214 -89
- data/amber/js/Kernel-Objects.deploy.js +1542 -1117
- data/amber/js/Kernel-Objects.js +1593 -1148
- data/amber/js/Kernel-Tests.deploy.js +1725 -772
- data/amber/js/Kernel-Tests.js +2301 -1123
- data/amber/js/Kernel-Transcript.deploy.js +23 -25
- data/amber/js/Kernel-Transcript.js +24 -26
- data/amber/js/SUnit.deploy.js +204 -131
- data/amber/js/SUnit.js +222 -139
- data/amber/js/Spaces.deploy.js +240 -0
- data/amber/js/Spaces.js +326 -0
- data/amber/js/amber.js +26 -7
- data/amber/js/boot.js +65 -47
- data/amber/js/init.js +1 -1
- data/amber/js/lib/CodeMirror/amber.css +21 -21
- data/amber/js/lib/CodeMirror/codemirror.css +119 -13
- data/amber/js/lib/CodeMirror/codemirror.js +2219 -1220
- data/amber/js/lib/CodeMirror/smalltalk.js +134 -129
- data/amber/js/lib/bootstrap/css/bootstrap.css +5837 -0
- data/amber/js/lib/bootstrap/css/bootstrap.min.css +841 -0
- data/amber/js/lib/bootstrap/img/glyphicons-halflings-white.png +0 -0
- data/amber/js/lib/bootstrap/img/glyphicons-halflings.png +0 -0
- data/amber/js/lib/bootstrap/js/bootstrap.js +2038 -0
- data/amber/js/lib/bootstrap/js/bootstrap.min.js +7 -0
- data/amber/js/lib/jQuery/jquery-1.8.2.min.js +2 -0
- data/amber/js/lib/jQuery/jquery-ui-1.8.24.custom.min.js +125 -0
- data/amber/st/Compiler-AST.st +505 -0
- data/amber/st/Compiler-Core.st +835 -0
- data/amber/st/Compiler-Exceptions.st +87 -0
- data/amber/st/Compiler-IR.st +1097 -0
- data/amber/st/Compiler-Inlining.st +650 -0
- data/amber/st/Compiler-Semantic.st +558 -0
- data/amber/st/Compiler-Tests.st +285 -381
- data/amber/st/Compiler.st +725 -2
- data/amber/st/Helios-Announcements.st +104 -0
- data/amber/st/Helios-Browser.st +708 -0
- data/amber/st/Helios-Commands.st +223 -0
- data/amber/st/Helios-Core.st +532 -0
- data/amber/st/Helios-Environments.st +98 -0
- data/amber/st/Helios-Inspector.st +367 -0
- data/amber/st/Helios-KeyBindings.st +337 -0
- data/amber/st/Helios-Layout.st +199 -0
- data/amber/st/Helios-Workspace.st +367 -0
- data/amber/st/IDE.st +75 -53
- data/amber/st/Importer-Exporter.st +386 -0
- data/amber/st/Kernel-Announcements.st +92 -0
- data/amber/st/Kernel-Classes.st +137 -15
- data/amber/st/Kernel-Collections.st +137 -47
- data/amber/st/Kernel-Exceptions.st +14 -0
- data/amber/st/Kernel-Methods.st +9 -1
- data/amber/st/Kernel-Objects.st +29 -5
- data/amber/st/Kernel-Tests.st +545 -199
- data/amber/st/SUnit.st +10 -0
- data/amber/st/Spaces.st +142 -0
- data/lib/resin/app.rb +1 -1
- metadata +86 -31
- data/amber/js/lib/jQuery/jquery-1.4.4.min.js +0 -167
- data/amber/js/lib/jQuery/jquery-1.6.4.min.js +0 -4
data/amber/js/Compiler.deploy.js
CHANGED
@@ -4,7 +4,7 @@ smalltalk.addMethod(
|
|
4
4
|
"_nextChunk",
|
5
5
|
smalltalk.method({
|
6
6
|
selector: "nextChunk",
|
7
|
-
fn: function (){
|
7
|
+
fn: function () {
|
8
8
|
var self=this;
|
9
9
|
var $early={};
|
10
10
|
try{var char_=nil;
|
@@ -22,7 +22,7 @@ smalltalk.addMethod(
|
|
22
22
|
"_stream_",
|
23
23
|
smalltalk.method({
|
24
24
|
selector: "stream:",
|
25
|
-
fn: function (aStream){
|
25
|
+
fn: function (aStream) {
|
26
26
|
var self=this;
|
27
27
|
(self['@stream']=aStream);
|
28
28
|
return self;}
|
@@ -34,7 +34,7 @@ smalltalk.addMethod(
|
|
34
34
|
"_on_",
|
35
35
|
smalltalk.method({
|
36
36
|
selector: "on:",
|
37
|
-
fn: function (aStream){
|
37
|
+
fn: function (aStream) {
|
38
38
|
var self=this;
|
39
39
|
return smalltalk.send(smalltalk.send(self, "_new", []), "_stream_", [aStream]);
|
40
40
|
return self;}
|
@@ -42,14 +42,25 @@ return self;}
|
|
42
42
|
smalltalk.ChunkParser.klass);
|
43
43
|
|
44
44
|
|
45
|
-
smalltalk.addClass('Compiler', smalltalk.Object, ['currentClass', 'source', 'unknownVariables'], 'Compiler');
|
45
|
+
smalltalk.addClass('Compiler', smalltalk.Object, ['currentClass', 'source', 'unknownVariables', 'codeGeneratorClass'], 'Compiler');
|
46
46
|
smalltalk.addMethod(
|
47
47
|
"_codeGeneratorClass",
|
48
48
|
smalltalk.method({
|
49
49
|
selector: "codeGeneratorClass",
|
50
|
-
fn: function (){
|
50
|
+
fn: function () {
|
51
|
+
var self=this;
|
52
|
+
return (($receiver = self['@codeGeneratorClass']) == nil || $receiver == undefined) ? (function(){return (smalltalk.FunCodeGenerator || FunCodeGenerator);})() : $receiver;
|
53
|
+
return self;}
|
54
|
+
}),
|
55
|
+
smalltalk.Compiler);
|
56
|
+
|
57
|
+
smalltalk.addMethod(
|
58
|
+
"_codeGeneratorClass_",
|
59
|
+
smalltalk.method({
|
60
|
+
selector: "codeGeneratorClass:",
|
61
|
+
fn: function (aClass) {
|
51
62
|
var self=this;
|
52
|
-
|
63
|
+
(self['@codeGeneratorClass']=aClass);
|
53
64
|
return self;}
|
54
65
|
}),
|
55
66
|
smalltalk.Compiler);
|
@@ -58,7 +69,7 @@ smalltalk.addMethod(
|
|
58
69
|
"_compile_",
|
59
70
|
smalltalk.method({
|
60
71
|
selector: "compile:",
|
61
|
-
fn: function (aString){
|
72
|
+
fn: function (aString) {
|
62
73
|
var self=this;
|
63
74
|
return smalltalk.send(self, "_compileNode_", [smalltalk.send(self, "_parse_", [aString])]);
|
64
75
|
return self;}
|
@@ -69,7 +80,7 @@ smalltalk.addMethod(
|
|
69
80
|
"_compile_forClass_",
|
70
81
|
smalltalk.method({
|
71
82
|
selector: "compile:forClass:",
|
72
|
-
fn: function (aString, aClass){
|
83
|
+
fn: function (aString, aClass) {
|
73
84
|
var self=this;
|
74
85
|
smalltalk.send(self, "_currentClass_", [aClass]);
|
75
86
|
smalltalk.send(self, "_source_", [aString]);
|
@@ -82,7 +93,7 @@ smalltalk.addMethod(
|
|
82
93
|
"_compileExpression_",
|
83
94
|
smalltalk.method({
|
84
95
|
selector: "compileExpression:",
|
85
|
-
fn: function (aString){
|
96
|
+
fn: function (aString) {
|
86
97
|
var self=this;
|
87
98
|
smalltalk.send(self, "_currentClass_", [(smalltalk.DoIt || DoIt)]);
|
88
99
|
smalltalk.send(self, "_source_", [smalltalk.send(smalltalk.send("doIt ^[", "__comma", [aString]), "__comma", ["] value"])]);
|
@@ -95,7 +106,7 @@ smalltalk.addMethod(
|
|
95
106
|
"_compileNode_",
|
96
107
|
smalltalk.method({
|
97
108
|
selector: "compileNode:",
|
98
|
-
fn: function (aNode){
|
109
|
+
fn: function (aNode) {
|
99
110
|
var self=this;
|
100
111
|
var generator=nil;
|
101
112
|
var result=nil;
|
@@ -112,7 +123,7 @@ smalltalk.addMethod(
|
|
112
123
|
"_currentClass",
|
113
124
|
smalltalk.method({
|
114
125
|
selector: "currentClass",
|
115
|
-
fn: function (){
|
126
|
+
fn: function () {
|
116
127
|
var self=this;
|
117
128
|
return self['@currentClass'];
|
118
129
|
return self;}
|
@@ -123,7 +134,7 @@ smalltalk.addMethod(
|
|
123
134
|
"_currentClass_",
|
124
135
|
smalltalk.method({
|
125
136
|
selector: "currentClass:",
|
126
|
-
fn: function (aClass){
|
137
|
+
fn: function (aClass) {
|
127
138
|
var self=this;
|
128
139
|
(self['@currentClass']=aClass);
|
129
140
|
return self;}
|
@@ -134,7 +145,7 @@ smalltalk.addMethod(
|
|
134
145
|
"_eval_",
|
135
146
|
smalltalk.method({
|
136
147
|
selector: "eval:",
|
137
|
-
fn: function (aString){
|
148
|
+
fn: function (aString) {
|
138
149
|
var self=this;
|
139
150
|
return eval(aString);
|
140
151
|
return self;}
|
@@ -145,7 +156,7 @@ smalltalk.addMethod(
|
|
145
156
|
"_evaluateExpression_",
|
146
157
|
smalltalk.method({
|
147
158
|
selector: "evaluateExpression:",
|
148
|
-
fn: function (aString){
|
159
|
+
fn: function (aString) {
|
149
160
|
var self=this;
|
150
161
|
var result=nil;
|
151
162
|
smalltalk.send((smalltalk.DoIt || DoIt), "_addCompiledMethod_", [smalltalk.send(self, "_eval_", [smalltalk.send(self, "_compileExpression_", [aString])])]);
|
@@ -160,7 +171,7 @@ smalltalk.addMethod(
|
|
160
171
|
"_install_forClass_category_",
|
161
172
|
smalltalk.method({
|
162
173
|
selector: "install:forClass:category:",
|
163
|
-
fn: function (aString, aBehavior, anotherString){
|
174
|
+
fn: function (aString, aBehavior, anotherString) {
|
164
175
|
var self=this;
|
165
176
|
var compiled=nil;
|
166
177
|
(compiled=smalltalk.send(self, "_eval_", [smalltalk.send(self, "_compile_forClass_", [aString, aBehavior])]));
|
@@ -175,7 +186,7 @@ smalltalk.addMethod(
|
|
175
186
|
"_parse_",
|
176
187
|
smalltalk.method({
|
177
188
|
selector: "parse:",
|
178
|
-
fn: function (aString){
|
189
|
+
fn: function (aString) {
|
179
190
|
var self=this;
|
180
191
|
return smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk), "_current", []), "_parse_", [aString]);
|
181
192
|
return self;}
|
@@ -186,7 +197,7 @@ smalltalk.addMethod(
|
|
186
197
|
"_parseExpression_",
|
187
198
|
smalltalk.method({
|
188
199
|
selector: "parseExpression:",
|
189
|
-
fn: function (aString){
|
200
|
+
fn: function (aString) {
|
190
201
|
var self=this;
|
191
202
|
return smalltalk.send(self, "_parse_", [smalltalk.send(smalltalk.send("doIt ^[", "__comma", [aString]), "__comma", ["] value"])]);
|
192
203
|
return self;}
|
@@ -197,7 +208,7 @@ smalltalk.addMethod(
|
|
197
208
|
"_recompile_",
|
198
209
|
smalltalk.method({
|
199
210
|
selector: "recompile:",
|
200
|
-
fn: function (aClass){
|
211
|
+
fn: function (aClass) {
|
201
212
|
var self=this;
|
202
213
|
smalltalk.send(smalltalk.send(aClass, "_methodDictionary", []), "_do_", [(function(each){return smalltalk.send(self, "_install_forClass_category_", [smalltalk.send(each, "_source", []), aClass, smalltalk.send(each, "_category", [])]);})]);
|
203
214
|
smalltalk.send(self, "_setupClass_", [aClass]);
|
@@ -210,7 +221,7 @@ smalltalk.addMethod(
|
|
210
221
|
"_recompileAll",
|
211
222
|
smalltalk.method({
|
212
223
|
selector: "recompileAll",
|
213
|
-
fn: function (){
|
224
|
+
fn: function () {
|
214
225
|
var self=this;
|
215
226
|
smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk), "_current", []), "_classes", []), "_do_", [(function(each){(function($rec){smalltalk.send($rec, "_show_", [each]);return smalltalk.send($rec, "_cr", []);})((smalltalk.Transcript || Transcript));return smalltalk.send((function(){return smalltalk.send(self, "_recompile_", [each]);}), "_valueWithTimeout_", [(100)]);})]);
|
216
227
|
return self;}
|
@@ -221,7 +232,7 @@ smalltalk.addMethod(
|
|
221
232
|
"_setupClass_",
|
222
233
|
smalltalk.method({
|
223
234
|
selector: "setupClass:",
|
224
|
-
fn: function (aClass){
|
235
|
+
fn: function (aClass) {
|
225
236
|
var self=this;
|
226
237
|
smalltalk.init(aClass);
|
227
238
|
return self;}
|
@@ -232,7 +243,7 @@ smalltalk.addMethod(
|
|
232
243
|
"_source",
|
233
244
|
smalltalk.method({
|
234
245
|
selector: "source",
|
235
|
-
fn: function (){
|
246
|
+
fn: function () {
|
236
247
|
var self=this;
|
237
248
|
return (($receiver = self['@source']) == nil || $receiver == undefined) ? (function(){return "";})() : $receiver;
|
238
249
|
return self;}
|
@@ -243,7 +254,7 @@ smalltalk.addMethod(
|
|
243
254
|
"_source_",
|
244
255
|
smalltalk.method({
|
245
256
|
selector: "source:",
|
246
|
-
fn: function (aString){
|
257
|
+
fn: function (aString) {
|
247
258
|
var self=this;
|
248
259
|
(self['@source']=aString);
|
249
260
|
return self;}
|
@@ -254,7 +265,7 @@ smalltalk.addMethod(
|
|
254
265
|
"_unknownVariables",
|
255
266
|
smalltalk.method({
|
256
267
|
selector: "unknownVariables",
|
257
|
-
fn: function (){
|
268
|
+
fn: function () {
|
258
269
|
var self=this;
|
259
270
|
return self['@unknownVariables'];
|
260
271
|
return self;}
|
@@ -265,7 +276,7 @@ smalltalk.addMethod(
|
|
265
276
|
"_unknownVariables_",
|
266
277
|
smalltalk.method({
|
267
278
|
selector: "unknownVariables:",
|
268
|
-
fn: function (aCollection){
|
279
|
+
fn: function (aCollection) {
|
269
280
|
var self=this;
|
270
281
|
(self['@unknownVariables']=aCollection);
|
271
282
|
return self;}
|
@@ -277,7 +288,7 @@ smalltalk.addMethod(
|
|
277
288
|
"_recompile_",
|
278
289
|
smalltalk.method({
|
279
290
|
selector: "recompile:",
|
280
|
-
fn: function (aClass){
|
291
|
+
fn: function (aClass) {
|
281
292
|
var self=this;
|
282
293
|
smalltalk.send(smalltalk.send(self, "_new", []), "_recompile_", [aClass]);
|
283
294
|
return self;}
|
@@ -288,7 +299,7 @@ smalltalk.addMethod(
|
|
288
299
|
"_recompileAll",
|
289
300
|
smalltalk.method({
|
290
301
|
selector: "recompileAll",
|
291
|
-
fn: function (){
|
302
|
+
fn: function () {
|
292
303
|
var self=this;
|
293
304
|
smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk), "_current", []), "_classes", []), "_do_", [(function(each){return smalltalk.send(self, "_recompile_", [each]);})]);
|
294
305
|
return self;}
|
@@ -304,7 +315,7 @@ smalltalk.addMethod(
|
|
304
315
|
"_classNameFor_",
|
305
316
|
smalltalk.method({
|
306
317
|
selector: "classNameFor:",
|
307
|
-
fn: function (aClass){
|
318
|
+
fn: function (aClass) {
|
308
319
|
var self=this;
|
309
320
|
return ((($receiver = smalltalk.send(aClass, "_isMetaclass", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_instanceClass", []), "_name", []), "__comma", [".klass"]);})() : (function(){return ((($receiver = smalltalk.send(aClass, "_isNil", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return "nil";})() : (function(){return smalltalk.send(aClass, "_name", []);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return "nil";}), (function(){return smalltalk.send(aClass, "_name", []);})]));})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_instanceClass", []), "_name", []), "__comma", [".klass"]);}), (function(){return ((($receiver = smalltalk.send(aClass, "_isNil", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return "nil";})() : (function(){return smalltalk.send(aClass, "_name", []);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return "nil";}), (function(){return smalltalk.send(aClass, "_name", []);})]));})]));
|
310
321
|
return self;}
|
@@ -315,7 +326,7 @@ smalltalk.addMethod(
|
|
315
326
|
"_exportAll",
|
316
327
|
smalltalk.method({
|
317
328
|
selector: "exportAll",
|
318
|
-
fn: function (){
|
329
|
+
fn: function () {
|
319
330
|
var self=this;
|
320
331
|
return smalltalk.send((smalltalk.String || String), "_streamContents_", [(function(stream){return smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk), "_current", []), "_packages", []), "_do_", [(function(pkg){return smalltalk.send(stream, "_nextPutAll_", [smalltalk.send(self, "_exportPackage_", [smalltalk.send(pkg, "_name", [])])]);})]);})]);
|
321
332
|
return self;}
|
@@ -326,7 +337,7 @@ smalltalk.addMethod(
|
|
326
337
|
"_exportClass_",
|
327
338
|
smalltalk.method({
|
328
339
|
selector: "exportClass:",
|
329
|
-
fn: function (aClass){
|
340
|
+
fn: function (aClass) {
|
330
341
|
var self=this;
|
331
342
|
return smalltalk.send((smalltalk.String || String), "_streamContents_", [(function(stream){smalltalk.send(self, "_exportDefinitionOf_on_", [aClass, stream]);smalltalk.send(self, "_exportMethodsOf_on_", [aClass, stream]);smalltalk.send(self, "_exportMetaDefinitionOf_on_", [aClass, stream]);return smalltalk.send(self, "_exportMethodsOf_on_", [smalltalk.send(aClass, "_class", []), stream]);})]);
|
332
343
|
return self;}
|
@@ -337,7 +348,7 @@ smalltalk.addMethod(
|
|
337
348
|
"_exportDefinitionOf_on_",
|
338
349
|
smalltalk.method({
|
339
350
|
selector: "exportDefinitionOf:on:",
|
340
|
-
fn: function (aClass, aStream){
|
351
|
+
fn: function (aClass, aStream) {
|
341
352
|
var self=this;
|
342
353
|
(function($rec){smalltalk.send($rec, "_nextPutAll_", ["smalltalk.addClass("]);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("'", "__comma", [smalltalk.send(self, "_classNameFor_", [aClass])]), "__comma", ["', "])]);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send("smalltalk.", "__comma", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(aClass, "_superclass", [])])])]);return smalltalk.send($rec, "_nextPutAll_", [", ["]);})(aStream);
|
343
354
|
smalltalk.send(smalltalk.send(aClass, "_instanceVariableNames", []), "_do_separatedBy_", [(function(each){return smalltalk.send(aStream, "_nextPutAll_", [smalltalk.send(smalltalk.send("'", "__comma", [each]), "__comma", ["'"])]);}), (function(){return smalltalk.send(aStream, "_nextPutAll_", [", "]);})]);
|
@@ -352,7 +363,7 @@ smalltalk.addMethod(
|
|
352
363
|
"_exportMetaDefinitionOf_on_",
|
353
364
|
smalltalk.method({
|
354
365
|
selector: "exportMetaDefinitionOf:on:",
|
355
|
-
fn: function (aClass, aStream){
|
366
|
+
fn: function (aClass, aStream) {
|
356
367
|
var self=this;
|
357
368
|
((($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_class", []), "_instanceVariableNames", []), "_isEmpty", [])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){(function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send("smalltalk.", "__comma", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(aClass, "_class", [])])])]);return smalltalk.send($rec, "_nextPutAll_", [".iVarNames = ["]);})(aStream);smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_class", []), "_instanceVariableNames", []), "_do_separatedBy_", [(function(each){return smalltalk.send(aStream, "_nextPutAll_", [smalltalk.send(smalltalk.send("'", "__comma", [each]), "__comma", ["'"])]);}), (function(){return smalltalk.send(aStream, "_nextPutAll_", [","]);})]);return smalltalk.send(aStream, "_nextPutAll_", [smalltalk.send("];", "__comma", [smalltalk.send((smalltalk.String || String), "_lf", [])])]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){(function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send("smalltalk.", "__comma", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(aClass, "_class", [])])])]);return smalltalk.send($rec, "_nextPutAll_", [".iVarNames = ["]);})(aStream);smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_class", []), "_instanceVariableNames", []), "_do_separatedBy_", [(function(each){return smalltalk.send(aStream, "_nextPutAll_", [smalltalk.send(smalltalk.send("'", "__comma", [each]), "__comma", ["'"])]);}), (function(){return smalltalk.send(aStream, "_nextPutAll_", [","]);})]);return smalltalk.send(aStream, "_nextPutAll_", [smalltalk.send("];", "__comma", [smalltalk.send((smalltalk.String || String), "_lf", [])])]);})]));
|
358
369
|
return self;}
|
@@ -363,7 +374,7 @@ smalltalk.addMethod(
|
|
363
374
|
"_exportMethod_of_on_",
|
364
375
|
smalltalk.method({
|
365
376
|
selector: "exportMethod:of:on:",
|
366
|
-
fn: function (aMethod, aClass, aStream){
|
377
|
+
fn: function (aMethod, aClass, aStream) {
|
367
378
|
var self=this;
|
368
379
|
(function($rec){smalltalk.send($rec, "_nextPutAll_", ["smalltalk.addMethod("]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aMethod, "_selector", []), "_asSelector", []), "_asJavascript", []), "__comma", [","])]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", ["smalltalk.method({"]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("selector: ", "__comma", [smalltalk.send(smalltalk.send(aMethod, "_selector", []), "_asJavascript", [])]), "__comma", [","])]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("category: '", "__comma", [smalltalk.send(aMethod, "_category", [])]), "__comma", ["',"])]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("fn: ", "__comma", [smalltalk.send(smalltalk.send(aMethod, "_fn", []), "_compiledSource", [])]), "__comma", [","])]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("args: ", "__comma", [smalltalk.send(smalltalk.send(aMethod, "_arguments", []), "_asJavascript", [])]), "__comma", [","])]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("source: ", "__comma", [smalltalk.send(smalltalk.send(aMethod, "_source", []), "_asJavascript", [])]), "__comma", [","])]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("messageSends: ", "__comma", [smalltalk.send(smalltalk.send(aMethod, "_messageSends", []), "_asJavascript", [])]), "__comma", [","])]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_nextPutAll_", [smalltalk.send("referencedClasses: ", "__comma", [smalltalk.send(smalltalk.send(aMethod, "_referencedClasses", []), "_asJavascript", [])])]);})(aStream);
|
369
380
|
(function($rec){smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", ["}),"]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send("smalltalk.", "__comma", [smalltalk.send(self, "_classNameFor_", [aClass])])]);smalltalk.send($rec, "_nextPutAll_", [");"]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_lf", []);})(aStream);
|
@@ -375,7 +386,7 @@ smalltalk.addMethod(
|
|
375
386
|
"_exportMethodsOf_on_",
|
376
387
|
smalltalk.method({
|
377
388
|
selector: "exportMethodsOf:on:",
|
378
|
-
fn: function (aClass, aStream){
|
389
|
+
fn: function (aClass, aStream) {
|
379
390
|
var self=this;
|
380
391
|
smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_methodDictionary", []), "_values", []), "_sorted_", [(function(a, b){return ((($receiver = smalltalk.send(a, "_selector", [])).klass === smalltalk.Number) ? $receiver <=smalltalk.send(b, "_selector", []) : smalltalk.send($receiver, "__lt_eq", [smalltalk.send(b, "_selector", [])]));})]), "_do_", [(function(each){return ((($receiver = smalltalk.send(smalltalk.send(each, "_category", []), "_match_", ["^\x5c*"])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(self, "_exportMethod_of_on_", [each, aClass, aStream]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(self, "_exportMethod_of_on_", [each, aClass, aStream]);})]));})]);
|
381
392
|
smalltalk.send(aStream, "_lf", []);
|
@@ -387,7 +398,7 @@ smalltalk.addMethod(
|
|
387
398
|
"_exportPackage_",
|
388
399
|
smalltalk.method({
|
389
400
|
selector: "exportPackage:",
|
390
|
-
fn: function (packageName){
|
401
|
+
fn: function (packageName) {
|
391
402
|
var self=this;
|
392
403
|
var package=nil;
|
393
404
|
return smalltalk.send((smalltalk.String || String), "_streamContents_", [(function(stream){(package=smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk), "_current", []), "_packageAt_", [packageName]));smalltalk.send(self, "_exportPackageDefinitionOf_on_", [package, stream]);smalltalk.send(smalltalk.send(smalltalk.send(package, "_sortedClasses", []), "_asSet", []), "_do_", [(function(each){return smalltalk.send(stream, "_nextPutAll_", [smalltalk.send(self, "_exportClass_", [each])]);})]);return smalltalk.send(self, "_exportPackageExtensionsOf_on_", [package, stream]);})]);
|
@@ -399,7 +410,7 @@ smalltalk.addMethod(
|
|
399
410
|
"_exportPackageDefinitionOf_on_",
|
400
411
|
smalltalk.method({
|
401
412
|
selector: "exportPackageDefinitionOf:on:",
|
402
|
-
fn: function (package, aStream){
|
413
|
+
fn: function (package, aStream) {
|
403
414
|
var self=this;
|
404
415
|
(function($rec){smalltalk.send($rec, "_nextPutAll_", ["smalltalk.addPackage("]);return smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("'", "__comma", [smalltalk.send(package, "_name", [])]), "__comma", ["', "]), "__comma", [smalltalk.send(package, "_propertiesAsJSON", [])]), "__comma", [");"])]);})(aStream);
|
405
416
|
smalltalk.send(aStream, "_lf", []);
|
@@ -411,7 +422,7 @@ smalltalk.addMethod(
|
|
411
422
|
"_exportPackageExtensionsOf_on_",
|
412
423
|
smalltalk.method({
|
413
424
|
selector: "exportPackageExtensionsOf:on:",
|
414
|
-
fn: function (package, aStream){
|
425
|
+
fn: function (package, aStream) {
|
415
426
|
var self=this;
|
416
427
|
var name=nil;
|
417
428
|
(name=smalltalk.send(package, "_name", []));
|
@@ -427,7 +438,7 @@ smalltalk.addMethod(
|
|
427
438
|
"_chunkEscape_",
|
428
439
|
smalltalk.method({
|
429
440
|
selector: "chunkEscape:",
|
430
|
-
fn: function (aString){
|
441
|
+
fn: function (aString) {
|
431
442
|
var self=this;
|
432
443
|
return smalltalk.send(smalltalk.send(aString, "_replace_with_", ["!", "!!"]), "_trimBoth", []);
|
433
444
|
return self;}
|
@@ -438,7 +449,7 @@ smalltalk.addMethod(
|
|
438
449
|
"_classNameFor_",
|
439
450
|
smalltalk.method({
|
440
451
|
selector: "classNameFor:",
|
441
|
-
fn: function (aClass){
|
452
|
+
fn: function (aClass) {
|
442
453
|
var self=this;
|
443
454
|
return ((($receiver = smalltalk.send(aClass, "_isMetaclass", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_instanceClass", []), "_name", []), "__comma", [" class"]);})() : (function(){return ((($receiver = smalltalk.send(aClass, "_isNil", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return "nil";})() : (function(){return smalltalk.send(aClass, "_name", []);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return "nil";}), (function(){return smalltalk.send(aClass, "_name", []);})]));})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_instanceClass", []), "_name", []), "__comma", [" class"]);}), (function(){return ((($receiver = smalltalk.send(aClass, "_isNil", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return "nil";})() : (function(){return smalltalk.send(aClass, "_name", []);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return "nil";}), (function(){return smalltalk.send(aClass, "_name", []);})]));})]));
|
444
455
|
return self;}
|
@@ -449,7 +460,7 @@ smalltalk.addMethod(
|
|
449
460
|
"_exportDefinitionOf_on_",
|
450
461
|
smalltalk.method({
|
451
462
|
selector: "exportDefinitionOf:on:",
|
452
|
-
fn: function (aClass, aStream){
|
463
|
+
fn: function (aClass, aStream) {
|
453
464
|
var self=this;
|
454
465
|
(function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(aClass, "_superclass", [])])]);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(" subclass: #", "__comma", [smalltalk.send(self, "_classNameFor_", [aClass])])]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_nextPutAll_", ["\x09instanceVariableNames: '"]);})(aStream);
|
455
466
|
smalltalk.send(smalltalk.send(aClass, "_instanceVariableNames", []), "_do_separatedBy_", [(function(each){return smalltalk.send(aStream, "_nextPutAll_", [each]);}), (function(){return smalltalk.send(aStream, "_nextPutAll_", [" "]);})]);
|
@@ -464,7 +475,7 @@ smalltalk.addMethod(
|
|
464
475
|
"_exportMetaDefinitionOf_on_",
|
465
476
|
smalltalk.method({
|
466
477
|
selector: "exportMetaDefinitionOf:on:",
|
467
|
-
fn: function (aClass, aStream){
|
478
|
+
fn: function (aClass, aStream) {
|
468
479
|
var self=this;
|
469
480
|
((($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_class", []), "_instanceVariableNames", []), "_isEmpty", [])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){(function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(aClass, "_class", [])])]);return smalltalk.send($rec, "_nextPutAll_", [" instanceVariableNames: '"]);})(aStream);smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_class", []), "_instanceVariableNames", []), "_do_separatedBy_", [(function(each){return smalltalk.send(aStream, "_nextPutAll_", [each]);}), (function(){return smalltalk.send(aStream, "_nextPutAll_", [" "]);})]);return (function($rec){smalltalk.send($rec, "_nextPutAll_", ["'!"]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_lf", []);})(aStream);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){(function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(aClass, "_class", [])])]);return smalltalk.send($rec, "_nextPutAll_", [" instanceVariableNames: '"]);})(aStream);smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_class", []), "_instanceVariableNames", []), "_do_separatedBy_", [(function(each){return smalltalk.send(aStream, "_nextPutAll_", [each]);}), (function(){return smalltalk.send(aStream, "_nextPutAll_", [" "]);})]);return (function($rec){smalltalk.send($rec, "_nextPutAll_", ["'!"]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_lf", []);})(aStream);})]));
|
470
481
|
return self;}
|
@@ -475,7 +486,7 @@ smalltalk.addMethod(
|
|
475
486
|
"_exportMethod_of_on_",
|
476
487
|
smalltalk.method({
|
477
488
|
selector: "exportMethod:of:on:",
|
478
|
-
fn: function (aMethod, aClass, aStream){
|
489
|
+
fn: function (aMethod, aClass, aStream) {
|
479
490
|
var self=this;
|
480
491
|
(function($rec){smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(self, "_chunkEscape_", [smalltalk.send(aMethod, "_source", [])])]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_nextPutAll_", ["!"]);})(aStream);
|
481
492
|
return self;}
|
@@ -486,7 +497,7 @@ smalltalk.addMethod(
|
|
486
497
|
"_exportMethods_category_of_on_",
|
487
498
|
smalltalk.method({
|
488
499
|
selector: "exportMethods:category:of:on:",
|
489
|
-
fn: function (methods, category, aClass, aStream){
|
500
|
+
fn: function (methods, category, aClass, aStream) {
|
490
501
|
var self=this;
|
491
502
|
(function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send("!", "__comma", [smalltalk.send(self, "_classNameFor_", [aClass])])]);return smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(" methodsFor: '", "__comma", [category]), "__comma", ["'!"])]);})(aStream);
|
492
503
|
smalltalk.send(smalltalk.send(methods, "_sorted_", [(function(a, b){return ((($receiver = smalltalk.send(a, "_selector", [])).klass === smalltalk.Number) ? $receiver <=smalltalk.send(b, "_selector", []) : smalltalk.send($receiver, "__lt_eq", [smalltalk.send(b, "_selector", [])]));})]), "_do_", [(function(each){return smalltalk.send(self, "_exportMethod_of_on_", [each, aClass, aStream]);})]);
|
@@ -499,7 +510,7 @@ smalltalk.addMethod(
|
|
499
510
|
"_exportMethodsOf_on_",
|
500
511
|
smalltalk.method({
|
501
512
|
selector: "exportMethodsOf:on:",
|
502
|
-
fn: function (aClass, aStream){
|
513
|
+
fn: function (aClass, aStream) {
|
503
514
|
var self=this;
|
504
515
|
var map=nil;
|
505
516
|
(map=smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", []));
|
@@ -514,7 +525,7 @@ smalltalk.addMethod(
|
|
514
525
|
"_exportPackageDefinitionOf_on_",
|
515
526
|
smalltalk.method({
|
516
527
|
selector: "exportPackageDefinitionOf:on:",
|
517
|
-
fn: function (package, aStream){
|
528
|
+
fn: function (package, aStream) {
|
518
529
|
var self=this;
|
519
530
|
(function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("Smalltalk current createPackage: '", "__comma", [smalltalk.send(package, "_name", [])]), "__comma", ["' properties: "]), "__comma", [smalltalk.send(smalltalk.send(package, "_properties", []), "_storeString", [])]), "__comma", ["!"])]);return smalltalk.send($rec, "_lf", []);})(aStream);
|
520
531
|
return self;}
|
@@ -525,7 +536,7 @@ smalltalk.addMethod(
|
|
525
536
|
"_exportPackageExtensionsOf_on_",
|
526
537
|
smalltalk.method({
|
527
538
|
selector: "exportPackageExtensionsOf:on:",
|
528
|
-
fn: function (package, aStream){
|
539
|
+
fn: function (package, aStream) {
|
529
540
|
var self=this;
|
530
541
|
var name=nil;
|
531
542
|
var map=nil;
|
@@ -543,7 +554,7 @@ smalltalk.addMethod(
|
|
543
554
|
"_exportDefinitionOf_on_",
|
544
555
|
smalltalk.method({
|
545
556
|
selector: "exportDefinitionOf:on:",
|
546
|
-
fn: function (aClass, aStream){
|
557
|
+
fn: function (aClass, aStream) {
|
547
558
|
var self=this;
|
548
559
|
(function($rec){smalltalk.send($rec, "_nextPutAll_", ["smalltalk.addClass("]);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("'", "__comma", [smalltalk.send(self, "_classNameFor_", [aClass])]), "__comma", ["', "])]);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send("smalltalk.", "__comma", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(aClass, "_superclass", [])])])]);return smalltalk.send($rec, "_nextPutAll_", [", ["]);})(aStream);
|
549
560
|
smalltalk.send(smalltalk.send(aClass, "_instanceVariableNames", []), "_do_separatedBy_", [(function(each){return smalltalk.send(aStream, "_nextPutAll_", [smalltalk.send(smalltalk.send("'", "__comma", [each]), "__comma", ["'"])]);}), (function(){return smalltalk.send(aStream, "_nextPutAll_", [", "]);})]);
|
@@ -557,7 +568,7 @@ smalltalk.addMethod(
|
|
557
568
|
"_exportMethod_of_on_",
|
558
569
|
smalltalk.method({
|
559
570
|
selector: "exportMethod:of:on:",
|
560
|
-
fn: function (aMethod, aClass, aStream){
|
571
|
+
fn: function (aMethod, aClass, aStream) {
|
561
572
|
var self=this;
|
562
573
|
(function($rec){smalltalk.send($rec, "_nextPutAll_", ["smalltalk.addMethod("]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aMethod, "_selector", []), "_asSelector", []), "_asJavascript", []), "__comma", [","])]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", ["smalltalk.method({"]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("selector: ", "__comma", [smalltalk.send(smalltalk.send(aMethod, "_selector", []), "_asJavascript", [])]), "__comma", [","])]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send("fn: ", "__comma", [smalltalk.send(smalltalk.send(aMethod, "_fn", []), "_compiledSource", [])])]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", ["}),"]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send("smalltalk.", "__comma", [smalltalk.send(self, "_classNameFor_", [aClass])])]);smalltalk.send($rec, "_nextPutAll_", [");"]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_lf", []);})(aStream);
|
563
574
|
return self;}
|
@@ -571,7 +582,7 @@ smalltalk.addMethod(
|
|
571
582
|
"_import_",
|
572
583
|
smalltalk.method({
|
573
584
|
selector: "import:",
|
574
|
-
fn: function (aStream){
|
585
|
+
fn: function (aStream) {
|
575
586
|
var self=this;
|
576
587
|
var chunk=nil;
|
577
588
|
var result=nil;
|
@@ -591,7 +602,7 @@ smalltalk.addMethod(
|
|
591
602
|
"_accept_",
|
592
603
|
smalltalk.method({
|
593
604
|
selector: "accept:",
|
594
|
-
fn: function (aVisitor){
|
605
|
+
fn: function (aVisitor) {
|
595
606
|
var self=this;
|
596
607
|
smalltalk.send(aVisitor, "_visitNode_", [self]);
|
597
608
|
return self;}
|
@@ -602,7 +613,7 @@ smalltalk.addMethod(
|
|
602
613
|
"_addNode_",
|
603
614
|
smalltalk.method({
|
604
615
|
selector: "addNode:",
|
605
|
-
fn: function (aNode){
|
616
|
+
fn: function (aNode) {
|
606
617
|
var self=this;
|
607
618
|
smalltalk.send(smalltalk.send(self, "_nodes", []), "_add_", [aNode]);
|
608
619
|
return self;}
|
@@ -613,7 +624,7 @@ smalltalk.addMethod(
|
|
613
624
|
"_isBlockNode",
|
614
625
|
smalltalk.method({
|
615
626
|
selector: "isBlockNode",
|
616
|
-
fn: function (){
|
627
|
+
fn: function () {
|
617
628
|
var self=this;
|
618
629
|
return false;
|
619
630
|
return self;}
|
@@ -624,7 +635,7 @@ smalltalk.addMethod(
|
|
624
635
|
"_isBlockSequenceNode",
|
625
636
|
smalltalk.method({
|
626
637
|
selector: "isBlockSequenceNode",
|
627
|
-
fn: function (){
|
638
|
+
fn: function () {
|
628
639
|
var self=this;
|
629
640
|
return false;
|
630
641
|
return self;}
|
@@ -635,7 +646,7 @@ smalltalk.addMethod(
|
|
635
646
|
"_isValueNode",
|
636
647
|
smalltalk.method({
|
637
648
|
selector: "isValueNode",
|
638
|
-
fn: function (){
|
649
|
+
fn: function () {
|
639
650
|
var self=this;
|
640
651
|
return false;
|
641
652
|
return self;}
|
@@ -646,7 +657,7 @@ smalltalk.addMethod(
|
|
646
657
|
"_nodes",
|
647
658
|
smalltalk.method({
|
648
659
|
selector: "nodes",
|
649
|
-
fn: function (){
|
660
|
+
fn: function () {
|
650
661
|
var self=this;
|
651
662
|
return (($receiver = self['@nodes']) == nil || $receiver == undefined) ? (function(){return (self['@nodes']=smalltalk.send((smalltalk.Array || Array), "_new", []));})() : $receiver;
|
652
663
|
return self;}
|
@@ -657,7 +668,7 @@ smalltalk.addMethod(
|
|
657
668
|
"_nodes_",
|
658
669
|
smalltalk.method({
|
659
670
|
selector: "nodes:",
|
660
|
-
fn: function (aCollection){
|
671
|
+
fn: function (aCollection) {
|
661
672
|
var self=this;
|
662
673
|
(self['@nodes']=aCollection);
|
663
674
|
return self;}
|
@@ -671,7 +682,7 @@ smalltalk.addMethod(
|
|
671
682
|
"_accept_",
|
672
683
|
smalltalk.method({
|
673
684
|
selector: "accept:",
|
674
|
-
fn: function (aVisitor){
|
685
|
+
fn: function (aVisitor) {
|
675
686
|
var self=this;
|
676
687
|
smalltalk.send(aVisitor, "_visitAssignmentNode_", [self]);
|
677
688
|
return self;}
|
@@ -682,7 +693,7 @@ smalltalk.addMethod(
|
|
682
693
|
"_left",
|
683
694
|
smalltalk.method({
|
684
695
|
selector: "left",
|
685
|
-
fn: function (){
|
696
|
+
fn: function () {
|
686
697
|
var self=this;
|
687
698
|
return self['@left'];
|
688
699
|
return self;}
|
@@ -693,7 +704,7 @@ smalltalk.addMethod(
|
|
693
704
|
"_left_",
|
694
705
|
smalltalk.method({
|
695
706
|
selector: "left:",
|
696
|
-
fn: function (aNode){
|
707
|
+
fn: function (aNode) {
|
697
708
|
var self=this;
|
698
709
|
(self['@left']=aNode);
|
699
710
|
smalltalk.send(self['@left'], "_assigned_", [true]);
|
@@ -705,7 +716,7 @@ smalltalk.addMethod(
|
|
705
716
|
"_right",
|
706
717
|
smalltalk.method({
|
707
718
|
selector: "right",
|
708
|
-
fn: function (){
|
719
|
+
fn: function () {
|
709
720
|
var self=this;
|
710
721
|
return self['@right'];
|
711
722
|
return self;}
|
@@ -716,7 +727,7 @@ smalltalk.addMethod(
|
|
716
727
|
"_right_",
|
717
728
|
smalltalk.method({
|
718
729
|
selector: "right:",
|
719
|
-
fn: function (aNode){
|
730
|
+
fn: function (aNode) {
|
720
731
|
var self=this;
|
721
732
|
(self['@right']=aNode);
|
722
733
|
return self;}
|
@@ -730,7 +741,7 @@ smalltalk.addMethod(
|
|
730
741
|
"_accept_",
|
731
742
|
smalltalk.method({
|
732
743
|
selector: "accept:",
|
733
|
-
fn: function (aVisitor){
|
744
|
+
fn: function (aVisitor) {
|
734
745
|
var self=this;
|
735
746
|
smalltalk.send(aVisitor, "_visitBlockNode_", [self]);
|
736
747
|
return self;}
|
@@ -741,7 +752,7 @@ smalltalk.addMethod(
|
|
741
752
|
"_inlined",
|
742
753
|
smalltalk.method({
|
743
754
|
selector: "inlined",
|
744
|
-
fn: function (){
|
755
|
+
fn: function () {
|
745
756
|
var self=this;
|
746
757
|
return (($receiver = self['@inlined']) == nil || $receiver == undefined) ? (function(){return false;})() : $receiver;
|
747
758
|
return self;}
|
@@ -752,7 +763,7 @@ smalltalk.addMethod(
|
|
752
763
|
"_inlined_",
|
753
764
|
smalltalk.method({
|
754
765
|
selector: "inlined:",
|
755
|
-
fn: function (aBoolean){
|
766
|
+
fn: function (aBoolean) {
|
756
767
|
var self=this;
|
757
768
|
(self['@inlined']=aBoolean);
|
758
769
|
return self;}
|
@@ -763,7 +774,7 @@ smalltalk.addMethod(
|
|
763
774
|
"_isBlockNode",
|
764
775
|
smalltalk.method({
|
765
776
|
selector: "isBlockNode",
|
766
|
-
fn: function (){
|
777
|
+
fn: function () {
|
767
778
|
var self=this;
|
768
779
|
return true;
|
769
780
|
return self;}
|
@@ -774,7 +785,7 @@ smalltalk.addMethod(
|
|
774
785
|
"_parameters",
|
775
786
|
smalltalk.method({
|
776
787
|
selector: "parameters",
|
777
|
-
fn: function (){
|
788
|
+
fn: function () {
|
778
789
|
var self=this;
|
779
790
|
return (($receiver = self['@parameters']) == nil || $receiver == undefined) ? (function(){return (self['@parameters']=smalltalk.send((smalltalk.Array || Array), "_new", []));})() : $receiver;
|
780
791
|
return self;}
|
@@ -785,7 +796,7 @@ smalltalk.addMethod(
|
|
785
796
|
"_parameters_",
|
786
797
|
smalltalk.method({
|
787
798
|
selector: "parameters:",
|
788
|
-
fn: function (aCollection){
|
799
|
+
fn: function (aCollection) {
|
789
800
|
var self=this;
|
790
801
|
(self['@parameters']=aCollection);
|
791
802
|
return self;}
|
@@ -799,7 +810,7 @@ smalltalk.addMethod(
|
|
799
810
|
"_accept_",
|
800
811
|
smalltalk.method({
|
801
812
|
selector: "accept:",
|
802
|
-
fn: function (aVisitor){
|
813
|
+
fn: function (aVisitor) {
|
803
814
|
var self=this;
|
804
815
|
smalltalk.send(aVisitor, "_visitCascadeNode_", [self]);
|
805
816
|
return self;}
|
@@ -810,7 +821,7 @@ smalltalk.addMethod(
|
|
810
821
|
"_receiver",
|
811
822
|
smalltalk.method({
|
812
823
|
selector: "receiver",
|
813
|
-
fn: function (){
|
824
|
+
fn: function () {
|
814
825
|
var self=this;
|
815
826
|
return self['@receiver'];
|
816
827
|
return self;}
|
@@ -821,7 +832,7 @@ smalltalk.addMethod(
|
|
821
832
|
"_receiver_",
|
822
833
|
smalltalk.method({
|
823
834
|
selector: "receiver:",
|
824
|
-
fn: function (aNode){
|
835
|
+
fn: function (aNode) {
|
825
836
|
var self=this;
|
826
837
|
(self['@receiver']=aNode);
|
827
838
|
return self;}
|
@@ -835,7 +846,7 @@ smalltalk.addMethod(
|
|
835
846
|
"_accept_",
|
836
847
|
smalltalk.method({
|
837
848
|
selector: "accept:",
|
838
|
-
fn: function (aVisitor){
|
849
|
+
fn: function (aVisitor) {
|
839
850
|
var self=this;
|
840
851
|
smalltalk.send(aVisitor, "_visitDynamicArrayNode_", [self]);
|
841
852
|
return self;}
|
@@ -849,7 +860,7 @@ smalltalk.addMethod(
|
|
849
860
|
"_accept_",
|
850
861
|
smalltalk.method({
|
851
862
|
selector: "accept:",
|
852
|
-
fn: function (aVisitor){
|
863
|
+
fn: function (aVisitor) {
|
853
864
|
var self=this;
|
854
865
|
smalltalk.send(aVisitor, "_visitDynamicDictionaryNode_", [self]);
|
855
866
|
return self;}
|
@@ -863,7 +874,7 @@ smalltalk.addMethod(
|
|
863
874
|
"_accept_",
|
864
875
|
smalltalk.method({
|
865
876
|
selector: "accept:",
|
866
|
-
fn: function (aVisitor){
|
877
|
+
fn: function (aVisitor) {
|
867
878
|
var self=this;
|
868
879
|
smalltalk.send(aVisitor, "_visitJSStatementNode_", [self]);
|
869
880
|
return self;}
|
@@ -874,7 +885,7 @@ smalltalk.addMethod(
|
|
874
885
|
"_source",
|
875
886
|
smalltalk.method({
|
876
887
|
selector: "source",
|
877
|
-
fn: function (){
|
888
|
+
fn: function () {
|
878
889
|
var self=this;
|
879
890
|
return (($receiver = self['@source']) == nil || $receiver == undefined) ? (function(){return "";})() : $receiver;
|
880
891
|
return self;}
|
@@ -885,7 +896,7 @@ smalltalk.addMethod(
|
|
885
896
|
"_source_",
|
886
897
|
smalltalk.method({
|
887
898
|
selector: "source:",
|
888
|
-
fn: function (aString){
|
899
|
+
fn: function (aString) {
|
889
900
|
var self=this;
|
890
901
|
(self['@source']=aString);
|
891
902
|
return self;}
|
@@ -899,7 +910,7 @@ smalltalk.addMethod(
|
|
899
910
|
"_accept_",
|
900
911
|
smalltalk.method({
|
901
912
|
selector: "accept:",
|
902
|
-
fn: function (aVisitor){
|
913
|
+
fn: function (aVisitor) {
|
903
914
|
var self=this;
|
904
915
|
smalltalk.send(aVisitor, "_visitMethodNode_", [self]);
|
905
916
|
return self;}
|
@@ -910,7 +921,7 @@ smalltalk.addMethod(
|
|
910
921
|
"_arguments",
|
911
922
|
smalltalk.method({
|
912
923
|
selector: "arguments",
|
913
|
-
fn: function (){
|
924
|
+
fn: function () {
|
914
925
|
var self=this;
|
915
926
|
return (($receiver = self['@arguments']) == nil || $receiver == undefined) ? (function(){return [];})() : $receiver;
|
916
927
|
return self;}
|
@@ -921,7 +932,7 @@ smalltalk.addMethod(
|
|
921
932
|
"_arguments_",
|
922
933
|
smalltalk.method({
|
923
934
|
selector: "arguments:",
|
924
|
-
fn: function (aCollection){
|
935
|
+
fn: function (aCollection) {
|
925
936
|
var self=this;
|
926
937
|
(self['@arguments']=aCollection);
|
927
938
|
return self;}
|
@@ -932,7 +943,7 @@ smalltalk.addMethod(
|
|
932
943
|
"_selector",
|
933
944
|
smalltalk.method({
|
934
945
|
selector: "selector",
|
935
|
-
fn: function (){
|
946
|
+
fn: function () {
|
936
947
|
var self=this;
|
937
948
|
return self['@selector'];
|
938
949
|
return self;}
|
@@ -943,7 +954,7 @@ smalltalk.addMethod(
|
|
943
954
|
"_selector_",
|
944
955
|
smalltalk.method({
|
945
956
|
selector: "selector:",
|
946
|
-
fn: function (aString){
|
957
|
+
fn: function (aString) {
|
947
958
|
var self=this;
|
948
959
|
(self['@selector']=aString);
|
949
960
|
return self;}
|
@@ -954,7 +965,7 @@ smalltalk.addMethod(
|
|
954
965
|
"_source",
|
955
966
|
smalltalk.method({
|
956
967
|
selector: "source",
|
957
|
-
fn: function (){
|
968
|
+
fn: function () {
|
958
969
|
var self=this;
|
959
970
|
return self['@source'];
|
960
971
|
return self;}
|
@@ -965,7 +976,7 @@ smalltalk.addMethod(
|
|
965
976
|
"_source_",
|
966
977
|
smalltalk.method({
|
967
978
|
selector: "source:",
|
968
|
-
fn: function (aString){
|
979
|
+
fn: function (aString) {
|
969
980
|
var self=this;
|
970
981
|
(self['@source']=aString);
|
971
982
|
return self;}
|
@@ -979,7 +990,7 @@ smalltalk.addMethod(
|
|
979
990
|
"_accept_",
|
980
991
|
smalltalk.method({
|
981
992
|
selector: "accept:",
|
982
|
-
fn: function (aVisitor){
|
993
|
+
fn: function (aVisitor) {
|
983
994
|
var self=this;
|
984
995
|
smalltalk.send(aVisitor, "_visitReturnNode_", [self]);
|
985
996
|
return self;}
|
@@ -993,7 +1004,7 @@ smalltalk.addMethod(
|
|
993
1004
|
"_accept_",
|
994
1005
|
smalltalk.method({
|
995
1006
|
selector: "accept:",
|
996
|
-
fn: function (aVisitor){
|
1007
|
+
fn: function (aVisitor) {
|
997
1008
|
var self=this;
|
998
1009
|
smalltalk.send(aVisitor, "_visitSendNode_", [self]);
|
999
1010
|
return self;}
|
@@ -1004,7 +1015,7 @@ smalltalk.addMethod(
|
|
1004
1015
|
"_arguments",
|
1005
1016
|
smalltalk.method({
|
1006
1017
|
selector: "arguments",
|
1007
|
-
fn: function (){
|
1018
|
+
fn: function () {
|
1008
1019
|
var self=this;
|
1009
1020
|
return (($receiver = self['@arguments']) == nil || $receiver == undefined) ? (function(){return (self['@arguments']=[]);})() : $receiver;
|
1010
1021
|
return self;}
|
@@ -1015,7 +1026,7 @@ smalltalk.addMethod(
|
|
1015
1026
|
"_arguments_",
|
1016
1027
|
smalltalk.method({
|
1017
1028
|
selector: "arguments:",
|
1018
|
-
fn: function (aCollection){
|
1029
|
+
fn: function (aCollection) {
|
1019
1030
|
var self=this;
|
1020
1031
|
(self['@arguments']=aCollection);
|
1021
1032
|
return self;}
|
@@ -1026,7 +1037,7 @@ smalltalk.addMethod(
|
|
1026
1037
|
"_cascadeNodeWithMessages_",
|
1027
1038
|
smalltalk.method({
|
1028
1039
|
selector: "cascadeNodeWithMessages:",
|
1029
|
-
fn: function (aCollection){
|
1040
|
+
fn: function (aCollection) {
|
1030
1041
|
var self=this;
|
1031
1042
|
var first=nil;
|
1032
1043
|
(first=(function($rec){smalltalk.send($rec, "_selector_", [smalltalk.send(self, "_selector", [])]);smalltalk.send($rec, "_arguments_", [smalltalk.send(self, "_arguments", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.SendNode || SendNode), "_new", [])));
|
@@ -1039,7 +1050,7 @@ smalltalk.addMethod(
|
|
1039
1050
|
"_receiver",
|
1040
1051
|
smalltalk.method({
|
1041
1052
|
selector: "receiver",
|
1042
|
-
fn: function (){
|
1053
|
+
fn: function () {
|
1043
1054
|
var self=this;
|
1044
1055
|
return self['@receiver'];
|
1045
1056
|
return self;}
|
@@ -1050,7 +1061,7 @@ smalltalk.addMethod(
|
|
1050
1061
|
"_receiver_",
|
1051
1062
|
smalltalk.method({
|
1052
1063
|
selector: "receiver:",
|
1053
|
-
fn: function (aNode){
|
1064
|
+
fn: function (aNode) {
|
1054
1065
|
var self=this;
|
1055
1066
|
(self['@receiver']=aNode);
|
1056
1067
|
return self;}
|
@@ -1061,7 +1072,7 @@ smalltalk.addMethod(
|
|
1061
1072
|
"_selector",
|
1062
1073
|
smalltalk.method({
|
1063
1074
|
selector: "selector",
|
1064
|
-
fn: function (){
|
1075
|
+
fn: function () {
|
1065
1076
|
var self=this;
|
1066
1077
|
return self['@selector'];
|
1067
1078
|
return self;}
|
@@ -1072,7 +1083,7 @@ smalltalk.addMethod(
|
|
1072
1083
|
"_selector_",
|
1073
1084
|
smalltalk.method({
|
1074
1085
|
selector: "selector:",
|
1075
|
-
fn: function (aString){
|
1086
|
+
fn: function (aString) {
|
1076
1087
|
var self=this;
|
1077
1088
|
(self['@selector']=aString);
|
1078
1089
|
return self;}
|
@@ -1083,7 +1094,7 @@ smalltalk.addMethod(
|
|
1083
1094
|
"_valueForReceiver_",
|
1084
1095
|
smalltalk.method({
|
1085
1096
|
selector: "valueForReceiver:",
|
1086
|
-
fn: function (anObject){
|
1097
|
+
fn: function (anObject) {
|
1087
1098
|
var self=this;
|
1088
1099
|
return (function($rec){smalltalk.send($rec, "_receiver_", [(($receiver = smalltalk.send(self, "_receiver", [])) == nil || $receiver == undefined) ? (function(){return anObject;})() : (function(){return smalltalk.send(smalltalk.send(self, "_receiver", []), "_valueForReceiver_", [anObject]);})()]);smalltalk.send($rec, "_selector_", [smalltalk.send(self, "_selector", [])]);smalltalk.send($rec, "_arguments_", [smalltalk.send(self, "_arguments", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.SendNode || SendNode), "_new", []));
|
1089
1100
|
return self;}
|
@@ -1097,7 +1108,7 @@ smalltalk.addMethod(
|
|
1097
1108
|
"_accept_",
|
1098
1109
|
smalltalk.method({
|
1099
1110
|
selector: "accept:",
|
1100
|
-
fn: function (aVisitor){
|
1111
|
+
fn: function (aVisitor) {
|
1101
1112
|
var self=this;
|
1102
1113
|
smalltalk.send(aVisitor, "_visitSequenceNode_", [self]);
|
1103
1114
|
return self;}
|
@@ -1108,7 +1119,7 @@ smalltalk.addMethod(
|
|
1108
1119
|
"_asBlockSequenceNode",
|
1109
1120
|
smalltalk.method({
|
1110
1121
|
selector: "asBlockSequenceNode",
|
1111
|
-
fn: function (){
|
1122
|
+
fn: function () {
|
1112
1123
|
var self=this;
|
1113
1124
|
return (function($rec){smalltalk.send($rec, "_nodes_", [smalltalk.send(self, "_nodes", [])]);smalltalk.send($rec, "_temps_", [smalltalk.send(self, "_temps", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.BlockSequenceNode || BlockSequenceNode), "_new", []));
|
1114
1125
|
return self;}
|
@@ -1119,7 +1130,7 @@ smalltalk.addMethod(
|
|
1119
1130
|
"_temps",
|
1120
1131
|
smalltalk.method({
|
1121
1132
|
selector: "temps",
|
1122
|
-
fn: function (){
|
1133
|
+
fn: function () {
|
1123
1134
|
var self=this;
|
1124
1135
|
return (($receiver = self['@temps']) == nil || $receiver == undefined) ? (function(){return [];})() : $receiver;
|
1125
1136
|
return self;}
|
@@ -1130,7 +1141,7 @@ smalltalk.addMethod(
|
|
1130
1141
|
"_temps_",
|
1131
1142
|
smalltalk.method({
|
1132
1143
|
selector: "temps:",
|
1133
|
-
fn: function (aCollection){
|
1144
|
+
fn: function (aCollection) {
|
1134
1145
|
var self=this;
|
1135
1146
|
(self['@temps']=aCollection);
|
1136
1147
|
return self;}
|
@@ -1144,7 +1155,7 @@ smalltalk.addMethod(
|
|
1144
1155
|
"_accept_",
|
1145
1156
|
smalltalk.method({
|
1146
1157
|
selector: "accept:",
|
1147
|
-
fn: function (aVisitor){
|
1158
|
+
fn: function (aVisitor) {
|
1148
1159
|
var self=this;
|
1149
1160
|
smalltalk.send(aVisitor, "_visitBlockSequenceNode_", [self]);
|
1150
1161
|
return self;}
|
@@ -1155,7 +1166,7 @@ smalltalk.addMethod(
|
|
1155
1166
|
"_isBlockSequenceNode",
|
1156
1167
|
smalltalk.method({
|
1157
1168
|
selector: "isBlockSequenceNode",
|
1158
|
-
fn: function (){
|
1169
|
+
fn: function () {
|
1159
1170
|
var self=this;
|
1160
1171
|
return true;
|
1161
1172
|
return self;}
|
@@ -1169,7 +1180,7 @@ smalltalk.addMethod(
|
|
1169
1180
|
"_accept_",
|
1170
1181
|
smalltalk.method({
|
1171
1182
|
selector: "accept:",
|
1172
|
-
fn: function (aVisitor){
|
1183
|
+
fn: function (aVisitor) {
|
1173
1184
|
var self=this;
|
1174
1185
|
smalltalk.send(aVisitor, "_visitValueNode_", [self]);
|
1175
1186
|
return self;}
|
@@ -1180,7 +1191,7 @@ smalltalk.addMethod(
|
|
1180
1191
|
"_isValueNode",
|
1181
1192
|
smalltalk.method({
|
1182
1193
|
selector: "isValueNode",
|
1183
|
-
fn: function (){
|
1194
|
+
fn: function () {
|
1184
1195
|
var self=this;
|
1185
1196
|
return true;
|
1186
1197
|
return self;}
|
@@ -1191,7 +1202,7 @@ smalltalk.addMethod(
|
|
1191
1202
|
"_value",
|
1192
1203
|
smalltalk.method({
|
1193
1204
|
selector: "value",
|
1194
|
-
fn: function (){
|
1205
|
+
fn: function () {
|
1195
1206
|
var self=this;
|
1196
1207
|
return self['@value'];
|
1197
1208
|
return self;}
|
@@ -1202,7 +1213,7 @@ smalltalk.addMethod(
|
|
1202
1213
|
"_value_",
|
1203
1214
|
smalltalk.method({
|
1204
1215
|
selector: "value:",
|
1205
|
-
fn: function (anObject){
|
1216
|
+
fn: function (anObject) {
|
1206
1217
|
var self=this;
|
1207
1218
|
(self['@value']=anObject);
|
1208
1219
|
return self;}
|
@@ -1216,7 +1227,7 @@ smalltalk.addMethod(
|
|
1216
1227
|
"_accept_",
|
1217
1228
|
smalltalk.method({
|
1218
1229
|
selector: "accept:",
|
1219
|
-
fn: function (aVisitor){
|
1230
|
+
fn: function (aVisitor) {
|
1220
1231
|
var self=this;
|
1221
1232
|
smalltalk.send(aVisitor, "_visitVariableNode_", [self]);
|
1222
1233
|
return self;}
|
@@ -1227,7 +1238,7 @@ smalltalk.addMethod(
|
|
1227
1238
|
"_assigned",
|
1228
1239
|
smalltalk.method({
|
1229
1240
|
selector: "assigned",
|
1230
|
-
fn: function (){
|
1241
|
+
fn: function () {
|
1231
1242
|
var self=this;
|
1232
1243
|
return (($receiver = self['@assigned']) == nil || $receiver == undefined) ? (function(){return false;})() : $receiver;
|
1233
1244
|
return self;}
|
@@ -1238,7 +1249,7 @@ smalltalk.addMethod(
|
|
1238
1249
|
"_assigned_",
|
1239
1250
|
smalltalk.method({
|
1240
1251
|
selector: "assigned:",
|
1241
|
-
fn: function (aBoolean){
|
1252
|
+
fn: function (aBoolean) {
|
1242
1253
|
var self=this;
|
1243
1254
|
(self['@assigned']=aBoolean);
|
1244
1255
|
return self;}
|
@@ -1252,7 +1263,7 @@ smalltalk.addMethod(
|
|
1252
1263
|
"_accept_",
|
1253
1264
|
smalltalk.method({
|
1254
1265
|
selector: "accept:",
|
1255
|
-
fn: function (aVisitor){
|
1266
|
+
fn: function (aVisitor) {
|
1256
1267
|
var self=this;
|
1257
1268
|
smalltalk.send(aVisitor, "_visitClassReferenceNode_", [self]);
|
1258
1269
|
return self;}
|
@@ -1261,12 +1272,48 @@ smalltalk.ClassReferenceNode);
|
|
1261
1272
|
|
1262
1273
|
|
1263
1274
|
|
1275
|
+
smalltalk.addClass('VerbatimNode', smalltalk.Node, ['value'], 'Compiler');
|
1276
|
+
smalltalk.addMethod(
|
1277
|
+
"_accept_",
|
1278
|
+
smalltalk.method({
|
1279
|
+
selector: "accept:",
|
1280
|
+
fn: function (aVisitor) {
|
1281
|
+
var self=this;
|
1282
|
+
smalltalk.send(aVisitor, "_visitVerbatimNode_", [self]);
|
1283
|
+
return self;}
|
1284
|
+
}),
|
1285
|
+
smalltalk.VerbatimNode);
|
1286
|
+
|
1287
|
+
smalltalk.addMethod(
|
1288
|
+
"_value",
|
1289
|
+
smalltalk.method({
|
1290
|
+
selector: "value",
|
1291
|
+
fn: function () {
|
1292
|
+
var self=this;
|
1293
|
+
return self['@value'];
|
1294
|
+
return self;}
|
1295
|
+
}),
|
1296
|
+
smalltalk.VerbatimNode);
|
1297
|
+
|
1298
|
+
smalltalk.addMethod(
|
1299
|
+
"_value_",
|
1300
|
+
smalltalk.method({
|
1301
|
+
selector: "value:",
|
1302
|
+
fn: function (anObject) {
|
1303
|
+
var self=this;
|
1304
|
+
(self['@value']=anObject);
|
1305
|
+
return self;}
|
1306
|
+
}),
|
1307
|
+
smalltalk.VerbatimNode);
|
1308
|
+
|
1309
|
+
|
1310
|
+
|
1264
1311
|
smalltalk.addClass('NodeVisitor', smalltalk.Object, [], 'Compiler');
|
1265
1312
|
smalltalk.addMethod(
|
1266
1313
|
"_visit_",
|
1267
1314
|
smalltalk.method({
|
1268
1315
|
selector: "visit:",
|
1269
|
-
fn: function (aNode){
|
1316
|
+
fn: function (aNode) {
|
1270
1317
|
var self=this;
|
1271
1318
|
smalltalk.send(aNode, "_accept_", [self]);
|
1272
1319
|
return self;}
|
@@ -1277,7 +1324,7 @@ smalltalk.addMethod(
|
|
1277
1324
|
"_visitAssignmentNode_",
|
1278
1325
|
smalltalk.method({
|
1279
1326
|
selector: "visitAssignmentNode:",
|
1280
|
-
fn: function (aNode){
|
1327
|
+
fn: function (aNode) {
|
1281
1328
|
var self=this;
|
1282
1329
|
smalltalk.send(self, "_visitNode_", [aNode]);
|
1283
1330
|
return self;}
|
@@ -1288,7 +1335,7 @@ smalltalk.addMethod(
|
|
1288
1335
|
"_visitBlockNode_",
|
1289
1336
|
smalltalk.method({
|
1290
1337
|
selector: "visitBlockNode:",
|
1291
|
-
fn: function (aNode){
|
1338
|
+
fn: function (aNode) {
|
1292
1339
|
var self=this;
|
1293
1340
|
smalltalk.send(self, "_visitNode_", [aNode]);
|
1294
1341
|
return self;}
|
@@ -1299,7 +1346,7 @@ smalltalk.addMethod(
|
|
1299
1346
|
"_visitBlockSequenceNode_",
|
1300
1347
|
smalltalk.method({
|
1301
1348
|
selector: "visitBlockSequenceNode:",
|
1302
|
-
fn: function (aNode){
|
1349
|
+
fn: function (aNode) {
|
1303
1350
|
var self=this;
|
1304
1351
|
smalltalk.send(self, "_visitNode_", [aNode]);
|
1305
1352
|
return self;}
|
@@ -1310,7 +1357,7 @@ smalltalk.addMethod(
|
|
1310
1357
|
"_visitCascadeNode_",
|
1311
1358
|
smalltalk.method({
|
1312
1359
|
selector: "visitCascadeNode:",
|
1313
|
-
fn: function (aNode){
|
1360
|
+
fn: function (aNode) {
|
1314
1361
|
var self=this;
|
1315
1362
|
smalltalk.send(self, "_visitNode_", [aNode]);
|
1316
1363
|
return self;}
|
@@ -1321,7 +1368,7 @@ smalltalk.addMethod(
|
|
1321
1368
|
"_visitClassReferenceNode_",
|
1322
1369
|
smalltalk.method({
|
1323
1370
|
selector: "visitClassReferenceNode:",
|
1324
|
-
fn: function (aNode){
|
1371
|
+
fn: function (aNode) {
|
1325
1372
|
var self=this;
|
1326
1373
|
smalltalk.send(self, "_visitNode_", [aNode]);
|
1327
1374
|
return self;}
|
@@ -1332,7 +1379,7 @@ smalltalk.addMethod(
|
|
1332
1379
|
"_visitDynamicArrayNode_",
|
1333
1380
|
smalltalk.method({
|
1334
1381
|
selector: "visitDynamicArrayNode:",
|
1335
|
-
fn: function (aNode){
|
1382
|
+
fn: function (aNode) {
|
1336
1383
|
var self=this;
|
1337
1384
|
smalltalk.send(self, "_visitNode_", [aNode]);
|
1338
1385
|
return self;}
|
@@ -1343,7 +1390,7 @@ smalltalk.addMethod(
|
|
1343
1390
|
"_visitDynamicDictionaryNode_",
|
1344
1391
|
smalltalk.method({
|
1345
1392
|
selector: "visitDynamicDictionaryNode:",
|
1346
|
-
fn: function (aNode){
|
1393
|
+
fn: function (aNode) {
|
1347
1394
|
var self=this;
|
1348
1395
|
smalltalk.send(self, "_visitNode_", [aNode]);
|
1349
1396
|
return self;}
|
@@ -1354,7 +1401,7 @@ smalltalk.addMethod(
|
|
1354
1401
|
"_visitJSStatementNode_",
|
1355
1402
|
smalltalk.method({
|
1356
1403
|
selector: "visitJSStatementNode:",
|
1357
|
-
fn: function (aNode){
|
1404
|
+
fn: function (aNode) {
|
1358
1405
|
var self=this;
|
1359
1406
|
smalltalk.send(self, "_visitNode_", [aNode]);
|
1360
1407
|
return self;}
|
@@ -1365,7 +1412,7 @@ smalltalk.addMethod(
|
|
1365
1412
|
"_visitMethodNode_",
|
1366
1413
|
smalltalk.method({
|
1367
1414
|
selector: "visitMethodNode:",
|
1368
|
-
fn: function (aNode){
|
1415
|
+
fn: function (aNode) {
|
1369
1416
|
var self=this;
|
1370
1417
|
smalltalk.send(self, "_visitNode_", [aNode]);
|
1371
1418
|
return self;}
|
@@ -1376,7 +1423,7 @@ smalltalk.addMethod(
|
|
1376
1423
|
"_visitNode_",
|
1377
1424
|
smalltalk.method({
|
1378
1425
|
selector: "visitNode:",
|
1379
|
-
fn: function (aNode){
|
1426
|
+
fn: function (aNode) {
|
1380
1427
|
var self=this;
|
1381
1428
|
|
1382
1429
|
return self;}
|
@@ -1387,7 +1434,7 @@ smalltalk.addMethod(
|
|
1387
1434
|
"_visitReturnNode_",
|
1388
1435
|
smalltalk.method({
|
1389
1436
|
selector: "visitReturnNode:",
|
1390
|
-
fn: function (aNode){
|
1437
|
+
fn: function (aNode) {
|
1391
1438
|
var self=this;
|
1392
1439
|
smalltalk.send(self, "_visitNode_", [aNode]);
|
1393
1440
|
return self;}
|
@@ -1398,7 +1445,7 @@ smalltalk.addMethod(
|
|
1398
1445
|
"_visitSendNode_",
|
1399
1446
|
smalltalk.method({
|
1400
1447
|
selector: "visitSendNode:",
|
1401
|
-
fn: function (aNode){
|
1448
|
+
fn: function (aNode) {
|
1402
1449
|
var self=this;
|
1403
1450
|
smalltalk.send(self, "_visitNode_", [aNode]);
|
1404
1451
|
return self;}
|
@@ -1409,7 +1456,7 @@ smalltalk.addMethod(
|
|
1409
1456
|
"_visitSequenceNode_",
|
1410
1457
|
smalltalk.method({
|
1411
1458
|
selector: "visitSequenceNode:",
|
1412
|
-
fn: function (aNode){
|
1459
|
+
fn: function (aNode) {
|
1413
1460
|
var self=this;
|
1414
1461
|
smalltalk.send(self, "_visitNode_", [aNode]);
|
1415
1462
|
return self;}
|
@@ -1420,7 +1467,7 @@ smalltalk.addMethod(
|
|
1420
1467
|
"_visitValueNode_",
|
1421
1468
|
smalltalk.method({
|
1422
1469
|
selector: "visitValueNode:",
|
1423
|
-
fn: function (aNode){
|
1470
|
+
fn: function (aNode) {
|
1424
1471
|
var self=this;
|
1425
1472
|
smalltalk.send(self, "_visitNode_", [aNode]);
|
1426
1473
|
return self;}
|
@@ -1431,7 +1478,18 @@ smalltalk.addMethod(
|
|
1431
1478
|
"_visitVariableNode_",
|
1432
1479
|
smalltalk.method({
|
1433
1480
|
selector: "visitVariableNode:",
|
1434
|
-
fn: function (aNode){
|
1481
|
+
fn: function (aNode) {
|
1482
|
+
var self=this;
|
1483
|
+
smalltalk.send(self, "_visitNode_", [aNode]);
|
1484
|
+
return self;}
|
1485
|
+
}),
|
1486
|
+
smalltalk.NodeVisitor);
|
1487
|
+
|
1488
|
+
smalltalk.addMethod(
|
1489
|
+
"_visitVerbatimNode_",
|
1490
|
+
smalltalk.method({
|
1491
|
+
selector: "visitVerbatimNode:",
|
1492
|
+
fn: function (aNode) {
|
1435
1493
|
var self=this;
|
1436
1494
|
smalltalk.send(self, "_visitNode_", [aNode]);
|
1437
1495
|
return self;}
|
@@ -1445,7 +1503,7 @@ smalltalk.addMethod(
|
|
1445
1503
|
"_classNameFor_",
|
1446
1504
|
smalltalk.method({
|
1447
1505
|
selector: "classNameFor:",
|
1448
|
-
fn: function (aClass){
|
1506
|
+
fn: function (aClass) {
|
1449
1507
|
var self=this;
|
1450
1508
|
return ((($receiver = smalltalk.send(aClass, "_isMetaclass", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_instanceClass", []), "_name", []), "__comma", [".klass"]);})() : (function(){return ((($receiver = smalltalk.send(aClass, "_isNil", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return "nil";})() : (function(){return smalltalk.send(aClass, "_name", []);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return "nil";}), (function(){return smalltalk.send(aClass, "_name", []);})]));})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_instanceClass", []), "_name", []), "__comma", [".klass"]);}), (function(){return ((($receiver = smalltalk.send(aClass, "_isNil", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return "nil";})() : (function(){return smalltalk.send(aClass, "_name", []);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return "nil";}), (function(){return smalltalk.send(aClass, "_name", []);})]));})]));
|
1451
1509
|
return self;}
|
@@ -1456,7 +1514,7 @@ smalltalk.addMethod(
|
|
1456
1514
|
"_compileNode_",
|
1457
1515
|
smalltalk.method({
|
1458
1516
|
selector: "compileNode:",
|
1459
|
-
fn: function (aNode){
|
1517
|
+
fn: function (aNode) {
|
1460
1518
|
var self=this;
|
1461
1519
|
smalltalk.send(self, "_subclassResponsibility", []);
|
1462
1520
|
return self;}
|
@@ -1467,7 +1525,7 @@ smalltalk.addMethod(
|
|
1467
1525
|
"_currentClass",
|
1468
1526
|
smalltalk.method({
|
1469
1527
|
selector: "currentClass",
|
1470
|
-
fn: function (){
|
1528
|
+
fn: function () {
|
1471
1529
|
var self=this;
|
1472
1530
|
return self['@currentClass'];
|
1473
1531
|
return self;}
|
@@ -1478,7 +1536,7 @@ smalltalk.addMethod(
|
|
1478
1536
|
"_currentClass_",
|
1479
1537
|
smalltalk.method({
|
1480
1538
|
selector: "currentClass:",
|
1481
|
-
fn: function (aClass){
|
1539
|
+
fn: function (aClass) {
|
1482
1540
|
var self=this;
|
1483
1541
|
(self['@currentClass']=aClass);
|
1484
1542
|
return self;}
|
@@ -1489,7 +1547,7 @@ smalltalk.addMethod(
|
|
1489
1547
|
"_pseudoVariables",
|
1490
1548
|
smalltalk.method({
|
1491
1549
|
selector: "pseudoVariables",
|
1492
|
-
fn: function (){
|
1550
|
+
fn: function () {
|
1493
1551
|
var self=this;
|
1494
1552
|
return ["self", "super", "true", "false", "nil", "thisContext"];
|
1495
1553
|
return self;}
|
@@ -1500,7 +1558,7 @@ smalltalk.addMethod(
|
|
1500
1558
|
"_safeVariableNameFor_",
|
1501
1559
|
smalltalk.method({
|
1502
1560
|
selector: "safeVariableNameFor:",
|
1503
|
-
fn: function (aString){
|
1561
|
+
fn: function (aString) {
|
1504
1562
|
var self=this;
|
1505
1563
|
return ((($receiver = smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk), "_current", []), "_reservedWords", []), "_includes_", [aString])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(aString, "__comma", ["_"]);})() : (function(){return aString;})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(aString, "__comma", ["_"]);}), (function(){return aString;})]));
|
1506
1564
|
return self;}
|
@@ -1511,7 +1569,7 @@ smalltalk.addMethod(
|
|
1511
1569
|
"_source",
|
1512
1570
|
smalltalk.method({
|
1513
1571
|
selector: "source",
|
1514
|
-
fn: function (){
|
1572
|
+
fn: function () {
|
1515
1573
|
var self=this;
|
1516
1574
|
return (($receiver = self['@source']) == nil || $receiver == undefined) ? (function(){return "";})() : $receiver;
|
1517
1575
|
return self;}
|
@@ -1522,7 +1580,7 @@ smalltalk.addMethod(
|
|
1522
1580
|
"_source_",
|
1523
1581
|
smalltalk.method({
|
1524
1582
|
selector: "source:",
|
1525
|
-
fn: function (aString){
|
1583
|
+
fn: function (aString) {
|
1526
1584
|
var self=this;
|
1527
1585
|
(self['@source']=aString);
|
1528
1586
|
return self;}
|
@@ -1536,7 +1594,7 @@ smalltalk.addMethod(
|
|
1536
1594
|
"_argVariables",
|
1537
1595
|
smalltalk.method({
|
1538
1596
|
selector: "argVariables",
|
1539
|
-
fn: function (){
|
1597
|
+
fn: function () {
|
1540
1598
|
var self=this;
|
1541
1599
|
return smalltalk.send(self['@argVariables'], "_copy", []);
|
1542
1600
|
return self;}
|
@@ -1547,7 +1605,7 @@ smalltalk.addMethod(
|
|
1547
1605
|
"_checkClass_for_",
|
1548
1606
|
smalltalk.method({
|
1549
1607
|
selector: "checkClass:for:",
|
1550
|
-
fn: function (aClassName, receiver){
|
1608
|
+
fn: function (aClassName, receiver) {
|
1551
1609
|
var self=this;
|
1552
1610
|
smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("((($receiver = ", "__comma", [receiver]), "__comma", [").klass === smalltalk."]), "__comma", [aClassName]), "__comma", [") ? "])]);
|
1553
1611
|
return self;}
|
@@ -1558,7 +1616,7 @@ smalltalk.addMethod(
|
|
1558
1616
|
"_compileNode_",
|
1559
1617
|
smalltalk.method({
|
1560
1618
|
selector: "compileNode:",
|
1561
|
-
fn: function (aNode){
|
1619
|
+
fn: function (aNode) {
|
1562
1620
|
var self=this;
|
1563
1621
|
(self['@stream']=smalltalk.send("", "_writeStream", []));
|
1564
1622
|
smalltalk.send(self, "_visit_", [aNode]);
|
@@ -1571,7 +1629,7 @@ smalltalk.addMethod(
|
|
1571
1629
|
"_initialize",
|
1572
1630
|
smalltalk.method({
|
1573
1631
|
selector: "initialize",
|
1574
|
-
fn: function (){
|
1632
|
+
fn: function () {
|
1575
1633
|
var self=this;
|
1576
1634
|
smalltalk.send(self, "_initialize", [], smalltalk.FunCodeGenerator.superclass || nil);
|
1577
1635
|
(self['@stream']=smalltalk.send("", "_writeStream", []));
|
@@ -1588,7 +1646,7 @@ smalltalk.addMethod(
|
|
1588
1646
|
"_inline_receiver_argumentNodes_",
|
1589
1647
|
smalltalk.method({
|
1590
1648
|
selector: "inline:receiver:argumentNodes:",
|
1591
|
-
fn: function (aSelector, receiver, aCollection){
|
1649
|
+
fn: function (aSelector, receiver, aCollection) {
|
1592
1650
|
var self=this;
|
1593
1651
|
var inlined=nil;
|
1594
1652
|
(inlined=false);
|
@@ -1613,7 +1671,7 @@ smalltalk.addMethod(
|
|
1613
1671
|
"_inlineLiteral_receiverNode_argumentNodes_",
|
1614
1672
|
smalltalk.method({
|
1615
1673
|
selector: "inlineLiteral:receiverNode:argumentNodes:",
|
1616
|
-
fn: function (aSelector, anObject, aCollection){
|
1674
|
+
fn: function (aSelector, anObject, aCollection) {
|
1617
1675
|
var self=this;
|
1618
1676
|
var inlined=nil;
|
1619
1677
|
(inlined=false);
|
@@ -1642,7 +1700,7 @@ smalltalk.addMethod(
|
|
1642
1700
|
"_isNode_ofClass_",
|
1643
1701
|
smalltalk.method({
|
1644
1702
|
selector: "isNode:ofClass:",
|
1645
|
-
fn: function (aNode, aClass){
|
1703
|
+
fn: function (aNode, aClass) {
|
1646
1704
|
var self=this;
|
1647
1705
|
return smalltalk.send(smalltalk.send(aNode, "_isValueNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aNode, "_value", []), "_class", []), "__eq", [aClass]), "_or_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.send(aNode, "_value", []), "__eq", ["self"]), "_and_", [(function(){return smalltalk.send(smalltalk.send(self, "_currentClass", []), "__eq", [aClass]);})]);})]);})]);
|
1648
1706
|
return self;}
|
@@ -1653,7 +1711,7 @@ smalltalk.addMethod(
|
|
1653
1711
|
"_knownVariables",
|
1654
1712
|
smalltalk.method({
|
1655
1713
|
selector: "knownVariables",
|
1656
|
-
fn: function (){
|
1714
|
+
fn: function () {
|
1657
1715
|
var self=this;
|
1658
1716
|
return (function($rec){smalltalk.send($rec, "_addAll_", [smalltalk.send(self, "_tempVariables", [])]);smalltalk.send($rec, "_addAll_", [smalltalk.send(self, "_argVariables", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_pseudoVariables", []));
|
1659
1717
|
return self;}
|
@@ -1664,7 +1722,7 @@ smalltalk.addMethod(
|
|
1664
1722
|
"_performOptimizations",
|
1665
1723
|
smalltalk.method({
|
1666
1724
|
selector: "performOptimizations",
|
1667
|
-
fn: function (){
|
1725
|
+
fn: function () {
|
1668
1726
|
var self=this;
|
1669
1727
|
return smalltalk.send(smalltalk.send(self, "_class", []), "_performOptimizations", []);
|
1670
1728
|
return self;}
|
@@ -1675,7 +1733,7 @@ smalltalk.addMethod(
|
|
1675
1733
|
"_send_to_arguments_superSend_",
|
1676
1734
|
smalltalk.method({
|
1677
1735
|
selector: "send:to:arguments:superSend:",
|
1678
|
-
fn: function (aSelector, aReceiver, aCollection, aBoolean){
|
1736
|
+
fn: function (aSelector, aReceiver, aCollection, aBoolean) {
|
1679
1737
|
var self=this;
|
1680
1738
|
return smalltalk.send((smalltalk.String || String), "_streamContents_", [(function(str){var tmp=nil;
|
1681
1739
|
(tmp=self['@stream']);smalltalk.send(str, "_nextPutAll_", ["smalltalk.send("]);smalltalk.send(str, "_nextPutAll_", [aReceiver]);smalltalk.send(str, "_nextPutAll_", [smalltalk.send(smalltalk.send(", \x22", "__comma", [smalltalk.send(aSelector, "_asSelector", [])]), "__comma", ["\x22, ["])]);(self['@stream']=str);smalltalk.send(aCollection, "_do_separatedBy_", [(function(each){return smalltalk.send(self, "_visit_", [each]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [", "]);})]);(self['@stream']=tmp);smalltalk.send(str, "_nextPutAll_", ["]"]);((($receiver = aBoolean).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(str, "_nextPutAll_", [smalltalk.send(smalltalk.send(", smalltalk.", "__comma", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(self, "_currentClass", [])])]), "__comma", [".superclass || nil"])]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(str, "_nextPutAll_", [smalltalk.send(smalltalk.send(", smalltalk.", "__comma", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(self, "_currentClass", [])])]), "__comma", [".superclass || nil"])]);})]));return smalltalk.send(str, "_nextPutAll_", [")"]);})]);
|
@@ -1687,7 +1745,7 @@ smalltalk.addMethod(
|
|
1687
1745
|
"_tempVariables",
|
1688
1746
|
smalltalk.method({
|
1689
1747
|
selector: "tempVariables",
|
1690
|
-
fn: function (){
|
1748
|
+
fn: function () {
|
1691
1749
|
var self=this;
|
1692
1750
|
return smalltalk.send(self['@tempVariables'], "_copy", []);
|
1693
1751
|
return self;}
|
@@ -1698,7 +1756,7 @@ smalltalk.addMethod(
|
|
1698
1756
|
"_unknownVariables",
|
1699
1757
|
smalltalk.method({
|
1700
1758
|
selector: "unknownVariables",
|
1701
|
-
fn: function (){
|
1759
|
+
fn: function () {
|
1702
1760
|
var self=this;
|
1703
1761
|
return smalltalk.send(self['@unknownVariables'], "_copy", []);
|
1704
1762
|
return self;}
|
@@ -1709,7 +1767,7 @@ smalltalk.addMethod(
|
|
1709
1767
|
"_visit_",
|
1710
1768
|
smalltalk.method({
|
1711
1769
|
selector: "visit:",
|
1712
|
-
fn: function (aNode){
|
1770
|
+
fn: function (aNode) {
|
1713
1771
|
var self=this;
|
1714
1772
|
smalltalk.send(aNode, "_accept_", [self]);
|
1715
1773
|
return self;}
|
@@ -1720,7 +1778,7 @@ smalltalk.addMethod(
|
|
1720
1778
|
"_visitAssignmentNode_",
|
1721
1779
|
smalltalk.method({
|
1722
1780
|
selector: "visitAssignmentNode:",
|
1723
|
-
fn: function (aNode){
|
1781
|
+
fn: function (aNode) {
|
1724
1782
|
var self=this;
|
1725
1783
|
smalltalk.send(self['@stream'], "_nextPutAll_", ["("]);
|
1726
1784
|
smalltalk.send(self, "_visit_", [smalltalk.send(aNode, "_left", [])]);
|
@@ -1735,7 +1793,7 @@ smalltalk.addMethod(
|
|
1735
1793
|
"_visitBlockNode_",
|
1736
1794
|
smalltalk.method({
|
1737
1795
|
selector: "visitBlockNode:",
|
1738
|
-
fn: function (aNode){
|
1796
|
+
fn: function (aNode) {
|
1739
1797
|
var self=this;
|
1740
1798
|
smalltalk.send(self['@stream'], "_nextPutAll_", ["(function("]);
|
1741
1799
|
smalltalk.send(smalltalk.send(aNode, "_parameters", []), "_do_separatedBy_", [(function(each){smalltalk.send(self['@tempVariables'], "_add_", [each]);return smalltalk.send(self['@stream'], "_nextPutAll_", [each]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [", "]);})]);
|
@@ -1750,7 +1808,7 @@ smalltalk.addMethod(
|
|
1750
1808
|
"_visitBlockSequenceNode_",
|
1751
1809
|
smalltalk.method({
|
1752
1810
|
selector: "visitBlockSequenceNode:",
|
1753
|
-
fn: function (aNode){
|
1811
|
+
fn: function (aNode) {
|
1754
1812
|
var self=this;
|
1755
1813
|
var index=nil;
|
1756
1814
|
(self['@nestedBlocks']=((($receiver = self['@nestedBlocks']).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));
|
@@ -1766,7 +1824,7 @@ smalltalk.addMethod(
|
|
1766
1824
|
"_visitCascadeNode_",
|
1767
1825
|
smalltalk.method({
|
1768
1826
|
selector: "visitCascadeNode:",
|
1769
|
-
fn: function (aNode){
|
1827
|
+
fn: function (aNode) {
|
1770
1828
|
var self=this;
|
1771
1829
|
var index=nil;
|
1772
1830
|
(index=(0));
|
@@ -1784,7 +1842,7 @@ smalltalk.addMethod(
|
|
1784
1842
|
"_visitClassReferenceNode_",
|
1785
1843
|
smalltalk.method({
|
1786
1844
|
selector: "visitClassReferenceNode:",
|
1787
|
-
fn: function (aNode){
|
1845
|
+
fn: function (aNode) {
|
1788
1846
|
var self=this;
|
1789
1847
|
((($receiver = smalltalk.send(self['@referencedClasses'], "_includes_", [smalltalk.send(aNode, "_value", [])])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(self['@referencedClasses'], "_add_", [smalltalk.send(aNode, "_value", [])]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(self['@referencedClasses'], "_add_", [smalltalk.send(aNode, "_value", [])]);})]));
|
1790
1848
|
smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(smalltalk.", "__comma", [smalltalk.send(aNode, "_value", [])]), "__comma", [" || "]), "__comma", [smalltalk.send(aNode, "_value", [])]), "__comma", [")"])]);
|
@@ -1796,7 +1854,7 @@ smalltalk.addMethod(
|
|
1796
1854
|
"_visitDynamicArrayNode_",
|
1797
1855
|
smalltalk.method({
|
1798
1856
|
selector: "visitDynamicArrayNode:",
|
1799
|
-
fn: function (aNode){
|
1857
|
+
fn: function (aNode) {
|
1800
1858
|
var self=this;
|
1801
1859
|
smalltalk.send(self['@stream'], "_nextPutAll_", ["["]);
|
1802
1860
|
smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_separatedBy_", [(function(each){return smalltalk.send(self, "_visit_", [each]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [","]);})]);
|
@@ -1809,7 +1867,7 @@ smalltalk.addMethod(
|
|
1809
1867
|
"_visitDynamicDictionaryNode_",
|
1810
1868
|
smalltalk.method({
|
1811
1869
|
selector: "visitDynamicDictionaryNode:",
|
1812
|
-
fn: function (aNode){
|
1870
|
+
fn: function (aNode) {
|
1813
1871
|
var self=this;
|
1814
1872
|
smalltalk.send(self['@stream'], "_nextPutAll_", ["smalltalk.HashedCollection._fromPairs_(["]);
|
1815
1873
|
smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_separatedBy_", [(function(each){return smalltalk.send(self, "_visit_", [each]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [","]);})]);
|
@@ -1822,7 +1880,7 @@ smalltalk.addMethod(
|
|
1822
1880
|
"_visitFailure_",
|
1823
1881
|
smalltalk.method({
|
1824
1882
|
selector: "visitFailure:",
|
1825
|
-
fn: function (aFailure){
|
1883
|
+
fn: function (aFailure) {
|
1826
1884
|
var self=this;
|
1827
1885
|
smalltalk.send(self, "_error_", [smalltalk.send(aFailure, "_asString", [])]);
|
1828
1886
|
return self;}
|
@@ -1833,7 +1891,7 @@ smalltalk.addMethod(
|
|
1833
1891
|
"_visitJSStatementNode_",
|
1834
1892
|
smalltalk.method({
|
1835
1893
|
selector: "visitJSStatementNode:",
|
1836
|
-
fn: function (aNode){
|
1894
|
+
fn: function (aNode) {
|
1837
1895
|
var self=this;
|
1838
1896
|
smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(aNode, "_source", [])]);
|
1839
1897
|
return self;}
|
@@ -1844,7 +1902,7 @@ smalltalk.addMethod(
|
|
1844
1902
|
"_visitMethodNode_",
|
1845
1903
|
smalltalk.method({
|
1846
1904
|
selector: "visitMethodNode:",
|
1847
|
-
fn: function (aNode){
|
1905
|
+
fn: function (aNode) {
|
1848
1906
|
var self=this;
|
1849
1907
|
var str=nil;
|
1850
1908
|
var currentSelector=nil;
|
@@ -1882,7 +1940,7 @@ smalltalk.addMethod(
|
|
1882
1940
|
"_visitReturnNode_",
|
1883
1941
|
smalltalk.method({
|
1884
1942
|
selector: "visitReturnNode:",
|
1885
|
-
fn: function (aNode){
|
1943
|
+
fn: function (aNode) {
|
1886
1944
|
var self=this;
|
1887
1945
|
((($receiver = ((($receiver = self['@nestedBlocks']).klass === smalltalk.Number) ? $receiver >(0) : smalltalk.send($receiver, "__gt", [(0)]))).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (self['@earlyReturn']=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (self['@earlyReturn']=true);})]));
|
1888
1946
|
((($receiver = ((($receiver = self['@nestedBlocks']).klass === smalltalk.Number) ? $receiver >(0) : smalltalk.send($receiver, "__gt", [(0)]))).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["(function(){throw $early=["]);})() : (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["return "]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["(function(){throw $early=["]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["return "]);})]));
|
@@ -1896,7 +1954,7 @@ smalltalk.addMethod(
|
|
1896
1954
|
"_visitSendNode_",
|
1897
1955
|
smalltalk.method({
|
1898
1956
|
selector: "visitSendNode:",
|
1899
|
-
fn: function (aNode){
|
1957
|
+
fn: function (aNode) {
|
1900
1958
|
var self=this;
|
1901
1959
|
var str=nil;
|
1902
1960
|
var receiver=nil;
|
@@ -1918,7 +1976,7 @@ smalltalk.addMethod(
|
|
1918
1976
|
"_visitSequenceNode_",
|
1919
1977
|
smalltalk.method({
|
1920
1978
|
selector: "visitSequenceNode:",
|
1921
|
-
fn: function (aNode){
|
1979
|
+
fn: function (aNode) {
|
1922
1980
|
var self=this;
|
1923
1981
|
smalltalk.send(smalltalk.send(aNode, "_temps", []), "_do_", [(function(each){var temp=nil;
|
1924
1982
|
(temp=smalltalk.send(self, "_safeVariableNameFor_", [each]));smalltalk.send(self['@tempVariables'], "_add_", [temp]);return (function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("var ", "__comma", [temp]), "__comma", ["=nil;"])]);return smalltalk.send($rec, "_lf", []);})(self['@stream']);})]);
|
@@ -1931,7 +1989,7 @@ smalltalk.addMethod(
|
|
1931
1989
|
"_visitValueNode_",
|
1932
1990
|
smalltalk.method({
|
1933
1991
|
selector: "visitValueNode:",
|
1934
|
-
fn: function (aNode){
|
1992
|
+
fn: function (aNode) {
|
1935
1993
|
var self=this;
|
1936
1994
|
smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(aNode, "_value", []), "_asJavascript", [])]);
|
1937
1995
|
return self;}
|
@@ -1942,7 +2000,7 @@ smalltalk.addMethod(
|
|
1942
2000
|
"_visitVariableNode_",
|
1943
2001
|
smalltalk.method({
|
1944
2002
|
selector: "visitVariableNode:",
|
1945
|
-
fn: function (aNode){
|
2003
|
+
fn: function (aNode) {
|
1946
2004
|
var self=this;
|
1947
2005
|
var varName=nil;
|
1948
2006
|
((($receiver = smalltalk.send(smalltalk.send(smalltalk.send(self, "_currentClass", []), "_allInstanceVariableNames", []), "_includes_", [smalltalk.send(aNode, "_value", [])])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send("self['@", "__comma", [smalltalk.send(aNode, "_value", [])]), "__comma", ["']"])]);})() : (function(){(varName=smalltalk.send(self, "_safeVariableNameFor_", [smalltalk.send(aNode, "_value", [])]));return ((($receiver = smalltalk.send(smalltalk.send(self, "_knownVariables", []), "_includes_", [varName])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){smalltalk.send(self['@unknownVariables'], "_add_", [smalltalk.send(aNode, "_value", [])]);return ((($receiver = smalltalk.send(aNode, "_assigned", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);})() : (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})]));})() : (function(){return ((($receiver = smalltalk.send(smalltalk.send(aNode, "_value", []), "__eq", ["thisContext"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["(smalltalk.getThisContext())"]);})() : (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["(smalltalk.getThisContext())"]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);})]));})()) : smalltalk.send($receiver, "_ifFalse_ifTrue_", [(function(){smalltalk.send(self['@unknownVariables'], "_add_", [smalltalk.send(aNode, "_value", [])]);return ((($receiver = smalltalk.send(aNode, "_assigned", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);})() : (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})]));}), (function(){return ((($receiver = smalltalk.send(smalltalk.send(aNode, "_value", []), "__eq", ["thisContext"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["(smalltalk.getThisContext())"]);})() : (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["(smalltalk.getThisContext())"]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);})]));})]));})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send("self['@", "__comma", [smalltalk.send(aNode, "_value", [])]), "__comma", ["']"])]);}), (function(){(varName=smalltalk.send(self, "_safeVariableNameFor_", [smalltalk.send(aNode, "_value", [])]));return ((($receiver = smalltalk.send(smalltalk.send(self, "_knownVariables", []), "_includes_", [varName])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){smalltalk.send(self['@unknownVariables'], "_add_", [smalltalk.send(aNode, "_value", [])]);return ((($receiver = smalltalk.send(aNode, "_assigned", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);})() : (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})]));})() : (function(){return ((($receiver = smalltalk.send(smalltalk.send(aNode, "_value", []), "__eq", ["thisContext"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["(smalltalk.getThisContext())"]);})() : (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["(smalltalk.getThisContext())"]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);})]));})()) : smalltalk.send($receiver, "_ifFalse_ifTrue_", [(function(){smalltalk.send(self['@unknownVariables'], "_add_", [smalltalk.send(aNode, "_value", [])]);return ((($receiver = smalltalk.send(aNode, "_assigned", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);})() : (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})]));}), (function(){return ((($receiver = smalltalk.send(smalltalk.send(aNode, "_value", []), "__eq", ["thisContext"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["(smalltalk.getThisContext())"]);})() : (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["(smalltalk.getThisContext())"]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [varName]);})]));})]));})]));
|
@@ -1956,7 +2014,7 @@ smalltalk.addMethod(
|
|
1956
2014
|
"_performOptimizations",
|
1957
2015
|
smalltalk.method({
|
1958
2016
|
selector: "performOptimizations",
|
1959
|
-
fn: function (){
|
2017
|
+
fn: function () {
|
1960
2018
|
var self=this;
|
1961
2019
|
return (($receiver = self['@performOptimizations']) == nil || $receiver == undefined) ? (function(){return true;})() : $receiver;
|
1962
2020
|
return self;}
|
@@ -1967,7 +2025,7 @@ smalltalk.addMethod(
|
|
1967
2025
|
"_performOptimizations_",
|
1968
2026
|
smalltalk.method({
|
1969
2027
|
selector: "performOptimizations:",
|
1970
|
-
fn: function (aBoolean){
|
2028
|
+
fn: function (aBoolean) {
|
1971
2029
|
var self=this;
|
1972
2030
|
(self['@performOptimizations']=aBoolean);
|
1973
2031
|
return self;}
|
@@ -1975,3 +2033,883 @@ return self;}
|
|
1975
2033
|
smalltalk.FunCodeGenerator.klass);
|
1976
2034
|
|
1977
2035
|
|
2036
|
+
smalltalk.addClass('ImpCodeGenerator', smalltalk.AbstractCodeGenerator, ['stream', 'nestedBlocks', 'earlyReturn', 'currentSelector', 'unknownVariables', 'tempVariables', 'messageSends', 'referencedClasses', 'classReferenced', 'argVariables', 'mutables', 'target', 'lazyVars', 'realVarNames'], 'Compiler');
|
2037
|
+
smalltalk.addMethod(
|
2038
|
+
"_aboutToModifyState",
|
2039
|
+
smalltalk.method({
|
2040
|
+
selector: "aboutToModifyState",
|
2041
|
+
fn: function (){
|
2042
|
+
var self=this;
|
2043
|
+
var list=nil;
|
2044
|
+
var old=nil;
|
2045
|
+
(list=self['@mutables']);
|
2046
|
+
(self['@mutables']=smalltalk.send((smalltalk.Set || Set), "_new", []));
|
2047
|
+
(old=smalltalk.send(self, "_switchTarget_", [nil]));
|
2048
|
+
smalltalk.send(list, "_do_", [(function(each){var value=nil;
|
2049
|
+
smalltalk.send(self, "_switchTarget_", [each]);return smalltalk.send(self, "_realAssign_", [smalltalk.send(self['@lazyVars'], "_at_", [each])]);})]);
|
2050
|
+
smalltalk.send(self, "_switchTarget_", [old]);
|
2051
|
+
return self;}
|
2052
|
+
}),
|
2053
|
+
smalltalk.ImpCodeGenerator);
|
2054
|
+
|
2055
|
+
smalltalk.addMethod(
|
2056
|
+
"_argVariables",
|
2057
|
+
smalltalk.method({
|
2058
|
+
selector: "argVariables",
|
2059
|
+
fn: function () {
|
2060
|
+
var self=this;
|
2061
|
+
return smalltalk.send(self['@argVariables'], "_copy", []);
|
2062
|
+
return self;}
|
2063
|
+
}),
|
2064
|
+
smalltalk.ImpCodeGenerator);
|
2065
|
+
|
2066
|
+
smalltalk.addMethod(
|
2067
|
+
"_assert_",
|
2068
|
+
smalltalk.method({
|
2069
|
+
selector: "assert:",
|
2070
|
+
fn: function (aBoolean) {
|
2071
|
+
var self=this;
|
2072
|
+
((($receiver = aBoolean).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(self, "_error_", ["assertion failed"]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(self, "_error_", ["assertion failed"]);})]));
|
2073
|
+
return self;}
|
2074
|
+
}),
|
2075
|
+
smalltalk.ImpCodeGenerator);
|
2076
|
+
|
2077
|
+
smalltalk.addMethod(
|
2078
|
+
"_checkClass_for_",
|
2079
|
+
smalltalk.method({
|
2080
|
+
selector: "checkClass:for:",
|
2081
|
+
fn: function (aClassName, receiver) {
|
2082
|
+
var self=this;
|
2083
|
+
smalltalk.send(self, "_prvCheckClass_for_", [aClassName, receiver]);
|
2084
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", ["{"]);
|
2085
|
+
return self;}
|
2086
|
+
}),
|
2087
|
+
smalltalk.ImpCodeGenerator);
|
2088
|
+
|
2089
|
+
smalltalk.addMethod(
|
2090
|
+
"_checkClass_for_includeIf_",
|
2091
|
+
smalltalk.method({
|
2092
|
+
selector: "checkClass:for:includeIf:",
|
2093
|
+
fn: function (aClassName, receiver, aBoolean){
|
2094
|
+
var self=this;
|
2095
|
+
smalltalk.send(self, "_prvCheckClass_for_", [aClassName, receiver]);
|
2096
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(((($receiver = aBoolean).klass === smalltalk.Boolean) ? ($receiver ? (function(){return "if((";})() : (function(){return "if(!(";})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return "if((";}), (function(){return "if(!(";})])), "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", [")) {"])]);
|
2097
|
+
return self;}
|
2098
|
+
}),
|
2099
|
+
smalltalk.ImpCodeGenerator);
|
2100
|
+
|
2101
|
+
smalltalk.addMethod(
|
2102
|
+
"_compileNode_",
|
2103
|
+
smalltalk.method({
|
2104
|
+
selector: "compileNode:",
|
2105
|
+
fn: function (aNode) {
|
2106
|
+
var self=this;
|
2107
|
+
(self['@stream']=smalltalk.send("", "_writeStream", []));
|
2108
|
+
smalltalk.send(self, "_visit_", [aNode]);
|
2109
|
+
return smalltalk.send(self['@stream'], "_contents", []);
|
2110
|
+
return self;}
|
2111
|
+
}),
|
2112
|
+
smalltalk.ImpCodeGenerator);
|
2113
|
+
|
2114
|
+
smalltalk.addMethod(
|
2115
|
+
"_ifValueWanted_",
|
2116
|
+
smalltalk.method({
|
2117
|
+
selector: "ifValueWanted:",
|
2118
|
+
fn: function (aBlock){
|
2119
|
+
var self=this;
|
2120
|
+
smalltalk.send(self['@target'], "_ifNotNil_", [aBlock]);
|
2121
|
+
return self;}
|
2122
|
+
}),
|
2123
|
+
smalltalk.ImpCodeGenerator);
|
2124
|
+
|
2125
|
+
smalltalk.addMethod(
|
2126
|
+
"_initialize",
|
2127
|
+
smalltalk.method({
|
2128
|
+
selector: "initialize",
|
2129
|
+
fn: function (){
|
2130
|
+
var self=this;
|
2131
|
+
smalltalk.send(self, "_initialize", [], smalltalk.ImpCodeGenerator.superclass || nil);
|
2132
|
+
(self['@stream']=smalltalk.send("", "_writeStream", []));
|
2133
|
+
(self['@unknownVariables']=[]);
|
2134
|
+
(self['@tempVariables']=[]);
|
2135
|
+
(self['@argVariables']=[]);
|
2136
|
+
(self['@messageSends']=[]);
|
2137
|
+
(self['@classReferenced']=[]);
|
2138
|
+
(self['@mutables']=smalltalk.send((smalltalk.Set || Set), "_new", []));
|
2139
|
+
(self['@realVarNames']=smalltalk.send((smalltalk.Set || Set), "_new", []));
|
2140
|
+
(self['@lazyVars']=smalltalk.send((smalltalk.HashedCollection || HashedCollection), "_new", []));
|
2141
|
+
(self['@target']=nil);
|
2142
|
+
return self;}
|
2143
|
+
}),
|
2144
|
+
smalltalk.ImpCodeGenerator);
|
2145
|
+
|
2146
|
+
smalltalk.addMethod(
|
2147
|
+
"_inline_receiver_argumentNodes_",
|
2148
|
+
smalltalk.method({
|
2149
|
+
selector: "inline:receiver:argumentNodes:",
|
2150
|
+
fn: function (aSelector, receiver, aCollection){
|
2151
|
+
var self=this;
|
2152
|
+
var $early={};
|
2153
|
+
try{((($receiver = smalltalk.send(aSelector, "__eq", ["ifFalse:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return ((($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, false]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_nilIfValueWanted", []);})]);return (function(){throw $early=[true]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, false]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_nilIfValueWanted", []);})]);return (function(){throw $early=[true]})();})]));})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return ((($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, false]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_nilIfValueWanted", []);})]);return (function(){throw $early=[true]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, false]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_nilIfValueWanted", []);})]);return (function(){throw $early=[true]})();})]));})]));
|
2154
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["ifTrue:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return ((($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, true]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_nilIfValueWanted", []);})]);return (function(){throw $early=[true]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, true]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_nilIfValueWanted", []);})]);return (function(){throw $early=[true]})();})]));})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return ((($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, true]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_nilIfValueWanted", []);})]);return (function(){throw $early=[true]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, true]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_nilIfValueWanted", []);})]);return (function(){throw $early=[true]})();})]));})]));
|
2155
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["ifTrue:ifFalse:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return ((($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, true]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (function(){throw $early=[true]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, true]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (function(){throw $early=[true]})();})]));})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return ((($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, true]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (function(){throw $early=[true]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, true]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (function(){throw $early=[true]})();})]));})]));
|
2156
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["ifFalse:ifTrue:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return ((($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, false]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (function(){throw $early=[true]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, false]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (function(){throw $early=[true]})();})]));})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return ((($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, false]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (function(){throw $early=[true]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_includeIf_", ["Boolean", receiver, false]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (function(){throw $early=[true]})();})]));})]));
|
2157
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["<"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var operand=nil;
|
2158
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", ["<"]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var operand=nil;
|
2159
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", ["<"]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})]));
|
2160
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["<="])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var operand=nil;
|
2161
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", ["<="]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var operand=nil;
|
2162
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", ["<="]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})]));
|
2163
|
+
((($receiver = smalltalk.send(aSelector, "__eq", [">"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var operand=nil;
|
2164
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", [">"]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var operand=nil;
|
2165
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", [">"]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})]));
|
2166
|
+
((($receiver = smalltalk.send(aSelector, "__eq", [">="])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var operand=nil;
|
2167
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", [">="]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var operand=nil;
|
2168
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", [">="]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})]));
|
2169
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["+"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var operand=nil;
|
2170
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", ["+"]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var operand=nil;
|
2171
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", ["+"]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})]));
|
2172
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["-"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var operand=nil;
|
2173
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", ["-"]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var operand=nil;
|
2174
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", ["-"]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})]));
|
2175
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["*"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var operand=nil;
|
2176
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", ["*"]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var operand=nil;
|
2177
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", ["*"]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})]));
|
2178
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["/"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var operand=nil;
|
2179
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", ["/"]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var operand=nil;
|
2180
|
+
(operand=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(aCollection, "_first", [])]));smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", ["/"]), "__comma", [operand]), "__comma", [")"])]);})]);return (function(){throw $early=[[smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [operand])]]})();})]));
|
2181
|
+
return nil;
|
2182
|
+
return self;
|
2183
|
+
} catch(e) {if(e===$early)return e[0]; throw e}}
|
2184
|
+
}),
|
2185
|
+
smalltalk.ImpCodeGenerator);
|
2186
|
+
|
2187
|
+
smalltalk.addMethod(
|
2188
|
+
"_inlineLiteral_receiverNode_argumentNodes_",
|
2189
|
+
smalltalk.method({
|
2190
|
+
selector: "inlineLiteral:receiverNode:argumentNodes:",
|
2191
|
+
fn: function (aSelector, anObject, aCollection){
|
2192
|
+
var self=this;
|
2193
|
+
var inlined=nil;
|
2194
|
+
(inlined=false);
|
2195
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["whileTrue:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return ((($receiver = smalltalk.send(smalltalk.send(anObject, "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var old=nil;
|
2196
|
+
smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["for(;;){", "if (!(", anObject, ")) {"]);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send("break}", "__comma", [smalltalk.send(self, "_mylf", [])])]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_targetBeing_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", []), nil]);})]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var old=nil;
|
2197
|
+
smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["for(;;){", "if (!(", anObject, ")) {"]);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send("break}", "__comma", [smalltalk.send(self, "_mylf", [])])]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_targetBeing_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", []), nil]);})]);return (inlined=true);})]));})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return ((($receiver = smalltalk.send(smalltalk.send(anObject, "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var old=nil;
|
2198
|
+
smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["for(;;){", "if (!(", anObject, ")) {"]);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send("break}", "__comma", [smalltalk.send(self, "_mylf", [])])]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_targetBeing_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", []), nil]);})]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var old=nil;
|
2199
|
+
smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["for(;;){", "if (!(", anObject, ")) {"]);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send("break}", "__comma", [smalltalk.send(self, "_mylf", [])])]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_targetBeing_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", []), nil]);})]);return (inlined=true);})]));})]));
|
2200
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["whileFalse:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return ((($receiver = smalltalk.send(smalltalk.send(anObject, "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var old=nil;
|
2201
|
+
smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["for(;;){", "if ((", anObject, ")) {"]);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send("break}", "__comma", [smalltalk.send(self, "_mylf", [])])]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_targetBeing_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", []), nil]);})]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var old=nil;
|
2202
|
+
smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["for(;;){", "if ((", anObject, ")) {"]);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send("break}", "__comma", [smalltalk.send(self, "_mylf", [])])]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_targetBeing_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", []), nil]);})]);return (inlined=true);})]));})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return ((($receiver = smalltalk.send(smalltalk.send(anObject, "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var old=nil;
|
2203
|
+
smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["for(;;){", "if ((", anObject, ")) {"]);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send("break}", "__comma", [smalltalk.send(self, "_mylf", [])])]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_targetBeing_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", []), nil]);})]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var old=nil;
|
2204
|
+
smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["for(;;){", "if ((", anObject, ")) {"]);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send("break}", "__comma", [smalltalk.send(self, "_mylf", [])])]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_targetBeing_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", []), nil]);})]);return (inlined=true);})]));})]));
|
2205
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["whileTrue"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return ((($receiver = smalltalk.send(anObject, "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["do{", "}while((", anObject, smalltalk.send("));", "__comma", [smalltalk.send(self, "_mylf", [])])]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["do{", "}while((", anObject, smalltalk.send("));", "__comma", [smalltalk.send(self, "_mylf", [])])]);return (inlined=true);})]));})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return ((($receiver = smalltalk.send(anObject, "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["do{", "}while((", anObject, smalltalk.send("));", "__comma", [smalltalk.send(self, "_mylf", [])])]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["do{", "}while((", anObject, smalltalk.send("));", "__comma", [smalltalk.send(self, "_mylf", [])])]);return (inlined=true);})]));})]));
|
2206
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["whileFalse"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return ((($receiver = smalltalk.send(anObject, "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["do{", "}while(!(", anObject, smalltalk.send("));", "__comma", [smalltalk.send(self, "_mylf", [])])]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["do{", "}while(!(", anObject, smalltalk.send("));", "__comma", [smalltalk.send(self, "_mylf", [])])]);return (inlined=true);})]));})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return ((($receiver = smalltalk.send(anObject, "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["do{", "}while(!(", anObject, smalltalk.send("));", "__comma", [smalltalk.send(self, "_mylf", [])])]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_prvWhileConditionStatement_pre_condition_post_", ["do{", "}while(!(", anObject, smalltalk.send("));", "__comma", [smalltalk.send(self, "_mylf", [])])]);return (inlined=true);})]));})]));
|
2207
|
+
((($receiver = smalltalk.send(["+", "-", "*", "/", "<", "<=", ">=", ">"], "_includes_", [aSelector])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return ((($receiver = smalltalk.send(self, "_prvInlineNumberOperator_on_and_", [aSelector, anObject, smalltalk.send(aCollection, "_first", [])])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (inlined=true);})]));})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return ((($receiver = smalltalk.send(self, "_prvInlineNumberOperator_on_and_", [aSelector, anObject, smalltalk.send(aCollection, "_first", [])])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (inlined=true);})]));})]));
|
2208
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["ifNil:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return ((($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var rcv=nil;
|
2209
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") === nil || ("]), "__comma", [rcv]), "__comma", [") == null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [rcv]);})]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var rcv=nil;
|
2210
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") === nil || ("]), "__comma", [rcv]), "__comma", [") == null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [rcv]);})]);return (inlined=true);})]));})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return ((($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var rcv=nil;
|
2211
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") === nil || ("]), "__comma", [rcv]), "__comma", [") == null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [rcv]);})]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var rcv=nil;
|
2212
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") === nil || ("]), "__comma", [rcv]), "__comma", [") == null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [rcv]);})]);return (inlined=true);})]));})]));
|
2213
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["ifNotNil:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return ((($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var rcv=nil;
|
2214
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") !== nil && ("]), "__comma", [rcv]), "__comma", [") != null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [rcv]);})]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var rcv=nil;
|
2215
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") !== nil && ("]), "__comma", [rcv]), "__comma", [") != null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [rcv]);})]);return (inlined=true);})]));})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return ((($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var rcv=nil;
|
2216
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") !== nil && ("]), "__comma", [rcv]), "__comma", [") != null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [rcv]);})]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var rcv=nil;
|
2217
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") !== nil && ("]), "__comma", [rcv]), "__comma", [") != null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [rcv]);})]);return (inlined=true);})]));})]));
|
2218
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["ifNil:ifNotNil:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return ((($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var rcv=nil;
|
2219
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") === nil || ("]), "__comma", [rcv]), "__comma", [") == null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var rcv=nil;
|
2220
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") === nil || ("]), "__comma", [rcv]), "__comma", [") == null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (inlined=true);})]));})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return ((($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var rcv=nil;
|
2221
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") === nil || ("]), "__comma", [rcv]), "__comma", [") == null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var rcv=nil;
|
2222
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") === nil || ("]), "__comma", [rcv]), "__comma", [") == null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (inlined=true);})]));})]));
|
2223
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["ifNotNil:ifNil:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return ((($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var rcv=nil;
|
2224
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") !== nil && ("]), "__comma", [rcv]), "__comma", [") != null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var rcv=nil;
|
2225
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") !== nil && ("]), "__comma", [rcv]), "__comma", [") != null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (inlined=true);})]));})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return ((($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var rcv=nil;
|
2226
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") !== nil && ("]), "__comma", [rcv]), "__comma", [") != null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var rcv=nil;
|
2227
|
+
smalltalk.send(self, "_aboutToModifyState", []);(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_makeTargetRealVariable", []);smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [rcv]), "__comma", [") !== nil && ("]), "__comma", [rcv]), "__comma", [") != null) {"])]);smalltalk.send(self, "_prvPutAndElse_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_nodes", []), "_first", [])]);})]);smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_second", []), "_nodes", []), "_first", [])]);})]);return (inlined=true);})]));})]));
|
2228
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["isNil"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var rcv=nil;
|
2229
|
+
(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_lazyAssignValue_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("((", "__comma", [rcv]), "__comma", [") === nil || ("]), "__comma", [rcv]), "__comma", [") == null)"])]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var rcv=nil;
|
2230
|
+
(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_lazyAssignValue_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("((", "__comma", [rcv]), "__comma", [") === nil || ("]), "__comma", [rcv]), "__comma", [") == null)"])]);return (inlined=true);})]));
|
2231
|
+
((($receiver = smalltalk.send(aSelector, "__eq", ["notNil"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var rcv=nil;
|
2232
|
+
(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_lazyAssignValue_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("((", "__comma", [rcv]), "__comma", [") !== nil && ("]), "__comma", [rcv]), "__comma", [") != null)"])]);return (inlined=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var rcv=nil;
|
2233
|
+
(rcv=smalltalk.send(self, "_isolatedUse_", [anObject]));((($receiver = smalltalk.send(rcv, "__eq", ["super"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (rcv="self");})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (rcv="self");})]));smalltalk.send(self, "_lazyAssignValue_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("((", "__comma", [rcv]), "__comma", [") !== nil && ("]), "__comma", [rcv]), "__comma", [") != null)"])]);return (inlined=true);})]));
|
2234
|
+
return inlined;
|
2235
|
+
return self;}
|
2236
|
+
}),
|
2237
|
+
smalltalk.ImpCodeGenerator);
|
2238
|
+
|
2239
|
+
smalltalk.addMethod(
|
2240
|
+
"_isNode_ofClass_",
|
2241
|
+
smalltalk.method({
|
2242
|
+
selector: "isNode:ofClass:",
|
2243
|
+
fn: function (aNode, aClass) {
|
2244
|
+
var self=this;
|
2245
|
+
return smalltalk.send(smalltalk.send(aNode, "_isValueNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aNode, "_value", []), "_class", []), "__eq", [aClass]), "_or_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.send(aNode, "_value", []), "__eq", ["self"]), "_and_", [(function(){return smalltalk.send(smalltalk.send(self, "_currentClass", []), "__eq", [aClass]);})]);})]);})]);
|
2246
|
+
return self;}
|
2247
|
+
}),
|
2248
|
+
smalltalk.ImpCodeGenerator);
|
2249
|
+
|
2250
|
+
smalltalk.addMethod(
|
2251
|
+
"_isolated_",
|
2252
|
+
smalltalk.method({
|
2253
|
+
selector: "isolated:",
|
2254
|
+
fn: function (node){
|
2255
|
+
var self=this;
|
2256
|
+
return smalltalk.send(self, "_visit_targetBeing_", [node, smalltalk.send(self, "_nextLazyvarName", [])]);
|
2257
|
+
return self;}
|
2258
|
+
}),
|
2259
|
+
smalltalk.ImpCodeGenerator);
|
2260
|
+
|
2261
|
+
smalltalk.addMethod(
|
2262
|
+
"_isolatedUse_",
|
2263
|
+
smalltalk.method({
|
2264
|
+
selector: "isolatedUse:",
|
2265
|
+
fn: function (node){
|
2266
|
+
var self=this;
|
2267
|
+
var old=nil;
|
2268
|
+
(old=smalltalk.send(self, "_switchTarget_", [smalltalk.send(self, "_nextLazyvarName", [])]));
|
2269
|
+
smalltalk.send(self, "_visit_", [node]);
|
2270
|
+
return smalltalk.send(self, "_useValueNamed_", [smalltalk.send(self, "_switchTarget_", [old])]);
|
2271
|
+
return self;}
|
2272
|
+
}),
|
2273
|
+
smalltalk.ImpCodeGenerator);
|
2274
|
+
|
2275
|
+
smalltalk.addMethod(
|
2276
|
+
"_knownVariables",
|
2277
|
+
smalltalk.method({
|
2278
|
+
selector: "knownVariables",
|
2279
|
+
fn: function () {
|
2280
|
+
var self=this;
|
2281
|
+
return (function($rec){smalltalk.send($rec, "_addAll_", [smalltalk.send(self, "_tempVariables", [])]);smalltalk.send($rec, "_addAll_", [smalltalk.send(self, "_argVariables", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_pseudoVariables", []));
|
2282
|
+
return self;}
|
2283
|
+
}),
|
2284
|
+
smalltalk.ImpCodeGenerator);
|
2285
|
+
|
2286
|
+
smalltalk.addMethod(
|
2287
|
+
"_lazyAssign_dependsOnState_",
|
2288
|
+
smalltalk.method({
|
2289
|
+
selector: "lazyAssign:dependsOnState:",
|
2290
|
+
fn: function (aString, aBoolean){
|
2291
|
+
var self=this;
|
2292
|
+
((($receiver = smalltalk.send(self['@lazyVars'], "_includesKey_", [self['@target']])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@lazyVars'], "_at_put_", [self['@target'], aString]);return ((($receiver = aBoolean).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self['@mutables'], "_add_", [self['@target']]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(self['@mutables'], "_add_", [self['@target']]);})]));})() : (function(){return smalltalk.send(self, "_realAssign_", [aString]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){smalltalk.send(self['@lazyVars'], "_at_put_", [self['@target'], aString]);return ((($receiver = aBoolean).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self['@mutables'], "_add_", [self['@target']]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(self['@mutables'], "_add_", [self['@target']]);})]));}), (function(){return smalltalk.send(self, "_realAssign_", [aString]);})]));
|
2293
|
+
return self;}
|
2294
|
+
}),
|
2295
|
+
smalltalk.ImpCodeGenerator);
|
2296
|
+
|
2297
|
+
smalltalk.addMethod(
|
2298
|
+
"_lazyAssignExpression_",
|
2299
|
+
smalltalk.method({
|
2300
|
+
selector: "lazyAssignExpression:",
|
2301
|
+
fn: function (aString){
|
2302
|
+
var self=this;
|
2303
|
+
smalltalk.send(self, "_lazyAssign_dependsOnState_", [aString, true]);
|
2304
|
+
return self;}
|
2305
|
+
}),
|
2306
|
+
smalltalk.ImpCodeGenerator);
|
2307
|
+
|
2308
|
+
smalltalk.addMethod(
|
2309
|
+
"_lazyAssignValue_",
|
2310
|
+
smalltalk.method({
|
2311
|
+
selector: "lazyAssignValue:",
|
2312
|
+
fn: function (aString){
|
2313
|
+
var self=this;
|
2314
|
+
smalltalk.send(self, "_lazyAssign_dependsOnState_", [aString, false]);
|
2315
|
+
return self;}
|
2316
|
+
}),
|
2317
|
+
smalltalk.ImpCodeGenerator);
|
2318
|
+
|
2319
|
+
smalltalk.addMethod(
|
2320
|
+
"_makeTargetRealVariable",
|
2321
|
+
smalltalk.method({
|
2322
|
+
selector: "makeTargetRealVariable",
|
2323
|
+
fn: function (){
|
2324
|
+
var self=this;
|
2325
|
+
((($receiver = smalltalk.send(self['@lazyVars'], "_includesKey_", [self['@target']])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@lazyVars'], "_removeKey_", [self['@target']]);smalltalk.send(self['@lazyVars'], "_at_put_", [smalltalk.send("assigned ", "__comma", [self['@target']]), nil]);return smalltalk.send(self['@realVarNames'], "_add_", [self['@target']]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@lazyVars'], "_removeKey_", [self['@target']]);smalltalk.send(self['@lazyVars'], "_at_put_", [smalltalk.send("assigned ", "__comma", [self['@target']]), nil]);return smalltalk.send(self['@realVarNames'], "_add_", [self['@target']]);})]));
|
2326
|
+
return self;}
|
2327
|
+
}),
|
2328
|
+
smalltalk.ImpCodeGenerator);
|
2329
|
+
|
2330
|
+
smalltalk.addMethod(
|
2331
|
+
"_mylf",
|
2332
|
+
smalltalk.method({
|
2333
|
+
selector: "mylf",
|
2334
|
+
fn: function () {
|
2335
|
+
var self=this;
|
2336
|
+
return smalltalk.send(smalltalk.send((smalltalk.String || String), "_lf", []), "__comma", [smalltalk.send(smalltalk.send((smalltalk.Array || Array), "_new_", [((($receiver = self['@nestedBlocks']).klass === smalltalk.Number) ? $receiver +(2) : smalltalk.send($receiver, "__plus", [(2)]))]), "_join_", [smalltalk.send((smalltalk.String || String), "_tab", [])])]);
|
2337
|
+
return self;}
|
2338
|
+
}),
|
2339
|
+
smalltalk.ImpCodeGenerator);
|
2340
|
+
|
2341
|
+
smalltalk.addMethod(
|
2342
|
+
"_nextLazyvarName",
|
2343
|
+
smalltalk.method({
|
2344
|
+
selector: "nextLazyvarName",
|
2345
|
+
fn: function (){
|
2346
|
+
var self=this;
|
2347
|
+
var name=nil;
|
2348
|
+
(name=smalltalk.send("$", "__comma", [smalltalk.send(smalltalk.send(self['@lazyVars'], "_size", []), "_asString", [])]));
|
2349
|
+
smalltalk.send(self['@lazyVars'], "_at_put_", [name, name]);
|
2350
|
+
return name;
|
2351
|
+
return self;}
|
2352
|
+
}),
|
2353
|
+
smalltalk.ImpCodeGenerator);
|
2354
|
+
|
2355
|
+
smalltalk.addMethod(
|
2356
|
+
"_nilIfValueWanted",
|
2357
|
+
smalltalk.method({
|
2358
|
+
selector: "nilIfValueWanted",
|
2359
|
+
fn: function (){
|
2360
|
+
var self=this;
|
2361
|
+
(($receiver = self['@target']) != nil && $receiver != undefined) ? (function(){return smalltalk.send(self, "_lazyAssignValue_", ["nil"]);})() : nil;
|
2362
|
+
return self;}
|
2363
|
+
}),
|
2364
|
+
smalltalk.ImpCodeGenerator);
|
2365
|
+
|
2366
|
+
smalltalk.addMethod(
|
2367
|
+
"_performOptimizations",
|
2368
|
+
smalltalk.method({
|
2369
|
+
selector: "performOptimizations",
|
2370
|
+
fn: function () {
|
2371
|
+
var self=this;
|
2372
|
+
return smalltalk.send(smalltalk.send(self, "_class", []), "_performOptimizations", []);
|
2373
|
+
return self;}
|
2374
|
+
}),
|
2375
|
+
smalltalk.ImpCodeGenerator);
|
2376
|
+
|
2377
|
+
smalltalk.addMethod(
|
2378
|
+
"_prvCheckClass_for_",
|
2379
|
+
smalltalk.method({
|
2380
|
+
selector: "prvCheckClass:for:",
|
2381
|
+
fn: function (aClassName, receiver){
|
2382
|
+
var self=this;
|
2383
|
+
smalltalk.send(self, "_makeTargetRealVariable", []);
|
2384
|
+
smalltalk.send(self, "_aboutToModifyState", []);
|
2385
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("if((", "__comma", [smalltalk.send(self, "_useValueNamed_", [receiver])]), "__comma", [").klass === smalltalk."]), "__comma", [aClassName]), "__comma", [") "])]);
|
2386
|
+
return self;}
|
2387
|
+
}),
|
2388
|
+
smalltalk.ImpCodeGenerator);
|
2389
|
+
|
2390
|
+
smalltalk.addMethod(
|
2391
|
+
"_prvInlineNumberOperator_on_and_",
|
2392
|
+
smalltalk.method({
|
2393
|
+
selector: "prvInlineNumberOperator:on:and:",
|
2394
|
+
fn: function (aSelector, receiverNode, operandNode){
|
2395
|
+
var self=this;
|
2396
|
+
var $early={};
|
2397
|
+
try{((($receiver = smalltalk.send(aSelector, "__eq", [aSelector])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return ((($receiver = smalltalk.send(self, "_isNode_ofClass_", [receiverNode, (smalltalk.Number || Number)])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var rcv=nil;
|
2398
|
+
var operand=nil;
|
2399
|
+
(rcv=smalltalk.send(self, "_isolated_", [receiverNode]));(operand=smalltalk.send(self, "_isolated_", [operandNode]));smalltalk.send(self, "_lazyAssignValue_", [smalltalk.send(smalltalk.send(smalltalk.send(self, "_useValueNamed_", [rcv]), "__comma", [aSelector]), "__comma", [smalltalk.send(self, "_useValueNamed_", [operand])])]);return (function(){throw $early=[true]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var rcv=nil;
|
2400
|
+
var operand=nil;
|
2401
|
+
(rcv=smalltalk.send(self, "_isolated_", [receiverNode]));(operand=smalltalk.send(self, "_isolated_", [operandNode]));smalltalk.send(self, "_lazyAssignValue_", [smalltalk.send(smalltalk.send(smalltalk.send(self, "_useValueNamed_", [rcv]), "__comma", [aSelector]), "__comma", [smalltalk.send(self, "_useValueNamed_", [operand])])]);return (function(){throw $early=[true]})();})]));})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return ((($receiver = smalltalk.send(self, "_isNode_ofClass_", [receiverNode, (smalltalk.Number || Number)])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var rcv=nil;
|
2402
|
+
var operand=nil;
|
2403
|
+
(rcv=smalltalk.send(self, "_isolated_", [receiverNode]));(operand=smalltalk.send(self, "_isolated_", [operandNode]));smalltalk.send(self, "_lazyAssignValue_", [smalltalk.send(smalltalk.send(smalltalk.send(self, "_useValueNamed_", [rcv]), "__comma", [aSelector]), "__comma", [smalltalk.send(self, "_useValueNamed_", [operand])])]);return (function(){throw $early=[true]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var rcv=nil;
|
2404
|
+
var operand=nil;
|
2405
|
+
(rcv=smalltalk.send(self, "_isolated_", [receiverNode]));(operand=smalltalk.send(self, "_isolated_", [operandNode]));smalltalk.send(self, "_lazyAssignValue_", [smalltalk.send(smalltalk.send(smalltalk.send(self, "_useValueNamed_", [rcv]), "__comma", [aSelector]), "__comma", [smalltalk.send(self, "_useValueNamed_", [operand])])]);return (function(){throw $early=[true]})();})]));})]));
|
2406
|
+
return false;
|
2407
|
+
return self;
|
2408
|
+
} catch(e) {if(e===$early)return e[0]; throw e}}
|
2409
|
+
}),
|
2410
|
+
smalltalk.ImpCodeGenerator);
|
2411
|
+
|
2412
|
+
smalltalk.addMethod(
|
2413
|
+
"_prvPutAndClose_",
|
2414
|
+
smalltalk.method({
|
2415
|
+
selector: "prvPutAndClose:",
|
2416
|
+
fn: function (aBlock) {
|
2417
|
+
var self=this;
|
2418
|
+
smalltalk.send(aBlock, "_value", []);
|
2419
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send("}", "__comma", [smalltalk.send(self, "_mylf", [])])]);
|
2420
|
+
return self;}
|
2421
|
+
}),
|
2422
|
+
smalltalk.ImpCodeGenerator);
|
2423
|
+
|
2424
|
+
smalltalk.addMethod(
|
2425
|
+
"_prvPutAndElse_",
|
2426
|
+
smalltalk.method({
|
2427
|
+
selector: "prvPutAndElse:",
|
2428
|
+
fn: function (aBlock) {
|
2429
|
+
var self=this;
|
2430
|
+
smalltalk.send(aBlock, "_value", []);
|
2431
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", ["} else {"]);
|
2432
|
+
return self;}
|
2433
|
+
}),
|
2434
|
+
smalltalk.ImpCodeGenerator);
|
2435
|
+
|
2436
|
+
smalltalk.addMethod(
|
2437
|
+
"_prvWhileConditionStatement_pre_condition_post_",
|
2438
|
+
smalltalk.method({
|
2439
|
+
selector: "prvWhileConditionStatement:pre:condition:post:",
|
2440
|
+
fn: function (stmtString, preString, anObject, postString){
|
2441
|
+
var self=this;
|
2442
|
+
var x=nil;
|
2443
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", [stmtString]);
|
2444
|
+
(x=smalltalk.send(self, "_isolatedUse_", [smalltalk.send(smalltalk.send(anObject, "_nodes", []), "_first", [])]));
|
2445
|
+
smalltalk.send(x, "_ifEmpty_", [(function(){return (x="\x22should not reach - receiver includes ^\x22");})]);
|
2446
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(preString, "__comma", [x]), "__comma", [postString])]);
|
2447
|
+
smalltalk.send(self, "_nilIfValueWanted", []);
|
2448
|
+
return self;}
|
2449
|
+
}),
|
2450
|
+
smalltalk.ImpCodeGenerator);
|
2451
|
+
|
2452
|
+
smalltalk.addMethod(
|
2453
|
+
"_putTemps_",
|
2454
|
+
smalltalk.method({
|
2455
|
+
selector: "putTemps:",
|
2456
|
+
fn: function (temps) {
|
2457
|
+
var self=this;
|
2458
|
+
smalltalk.send(temps, "_ifNotEmpty_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", ["var "]);smalltalk.send(temps, "_do_separatedBy_", [(function(each){var temp=nil;
|
2459
|
+
(temp=smalltalk.send(self, "_safeVariableNameFor_", [each]));smalltalk.send(self['@tempVariables'], "_add_", [temp]);return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(temp, "__comma", ["=nil"])]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [","]);})]);return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(";", "__comma", [smalltalk.send(self, "_mylf", [])])]);})]);
|
2460
|
+
return self;}
|
2461
|
+
}),
|
2462
|
+
smalltalk.ImpCodeGenerator);
|
2463
|
+
|
2464
|
+
smalltalk.addMethod(
|
2465
|
+
"_realAssign_",
|
2466
|
+
smalltalk.method({
|
2467
|
+
selector: "realAssign:",
|
2468
|
+
fn: function (aString){
|
2469
|
+
var self=this;
|
2470
|
+
var closer=nil;
|
2471
|
+
smalltalk.send(aString, "_ifNotEmpty_", [(function(){smalltalk.send(self, "_aboutToModifyState", []);(closer="");smalltalk.send(self, "_ifValueWanted_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [((($receiver = smalltalk.send(self['@target'], "__eq", ["^"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return "return ";})() : (function(){return ((($receiver = smalltalk.send(self['@target'], "__eq", ["!"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){(closer="]");return "throw $early=[";})() : (function(){return smalltalk.send(self['@target'], "__comma", ["="]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){(closer="]");return "throw $early=[";}), (function(){return smalltalk.send(self['@target'], "__comma", ["="]);})]));})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return "return ";}), (function(){return ((($receiver = smalltalk.send(self['@target'], "__eq", ["!"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){(closer="]");return "throw $early=[";})() : (function(){return smalltalk.send(self['@target'], "__comma", ["="]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){(closer="]");return "throw $early=[";}), (function(){return smalltalk.send(self['@target'], "__comma", ["="]);})]));})]))]);})]);smalltalk.send(self, "_makeTargetRealVariable", []);return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(aString, "__comma", [closer]), "__comma", [";"]), "__comma", [smalltalk.send(self, "_mylf", [])])]);})]);
|
2472
|
+
return self;}
|
2473
|
+
}),
|
2474
|
+
smalltalk.ImpCodeGenerator);
|
2475
|
+
|
2476
|
+
smalltalk.addMethod(
|
2477
|
+
"_send_to_arguments_superSend_",
|
2478
|
+
smalltalk.method({
|
2479
|
+
selector: "send:to:arguments:superSend:",
|
2480
|
+
fn: function (aSelector, aReceiver, aCollection, aBoolean){
|
2481
|
+
var self=this;
|
2482
|
+
var args=nil;
|
2483
|
+
(args=smalltalk.send(self, "_isolated_", [(function($rec){smalltalk.send($rec, "_nodes_", [aCollection]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.DynamicArrayNode || DynamicArrayNode), "_new", []))]));
|
2484
|
+
smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send((smalltalk.String || String), "_streamContents_", [(function(str){smalltalk.send(str, "_nextPutAll_", ["smalltalk.send("]);smalltalk.send(str, "_nextPutAll_", [smalltalk.send(self, "_useValueNamed_", [aReceiver])]);smalltalk.send(str, "_nextPutAll_", [smalltalk.send(smalltalk.send(", \x22", "__comma", [smalltalk.send(aSelector, "_asSelector", [])]), "__comma", ["\x22, "])]);smalltalk.send(str, "_nextPutAll_", [smalltalk.send(self, "_useValueNamed_", [args])]);((($receiver = aBoolean).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(str, "_nextPutAll_", [smalltalk.send(", smalltalk.", "__comma", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(smalltalk.send(self, "_currentClass", []), "_superclass", [])])])]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(str, "_nextPutAll_", [smalltalk.send(", smalltalk.", "__comma", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(smalltalk.send(self, "_currentClass", []), "_superclass", [])])])]);})]));return smalltalk.send(str, "_nextPutAll_", [")"]);})])]);
|
2485
|
+
return self;}
|
2486
|
+
}),
|
2487
|
+
smalltalk.ImpCodeGenerator);
|
2488
|
+
|
2489
|
+
smalltalk.addMethod(
|
2490
|
+
"_sequenceOfNodes_temps_",
|
2491
|
+
smalltalk.method({
|
2492
|
+
selector: "sequenceOfNodes:temps:",
|
2493
|
+
fn: function (nodes, temps){
|
2494
|
+
var self=this;
|
2495
|
+
((($receiver = smalltalk.send(nodes, "_isEmpty", [])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){var old=nil;
|
2496
|
+
var index=nil;
|
2497
|
+
smalltalk.send(self, "_putTemps_", [temps]);(old=smalltalk.send(self, "_switchTarget_", [nil]));(index=(0));return smalltalk.send(nodes, "_do_", [(function(each){(index=((($receiver = index).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));((($receiver = smalltalk.send(index, "__eq", [smalltalk.send(nodes, "_size", [])])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_switchTarget_", [old]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(self, "_switchTarget_", [old]);})]));return smalltalk.send(self, "_visit_", [each]);})]);})() : (function(){return smalltalk.send(self, "_nilIfValueWanted", []);})()) : smalltalk.send($receiver, "_ifFalse_ifTrue_", [(function(){var old=nil;
|
2498
|
+
var index=nil;
|
2499
|
+
smalltalk.send(self, "_putTemps_", [temps]);(old=smalltalk.send(self, "_switchTarget_", [nil]));(index=(0));return smalltalk.send(nodes, "_do_", [(function(each){(index=((($receiver = index).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));((($receiver = smalltalk.send(index, "__eq", [smalltalk.send(nodes, "_size", [])])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_switchTarget_", [old]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(self, "_switchTarget_", [old]);})]));return smalltalk.send(self, "_visit_", [each]);})]);}), (function(){return smalltalk.send(self, "_nilIfValueWanted", []);})]));
|
2500
|
+
return self;}
|
2501
|
+
}),
|
2502
|
+
smalltalk.ImpCodeGenerator);
|
2503
|
+
|
2504
|
+
smalltalk.addMethod(
|
2505
|
+
"_switchTarget_",
|
2506
|
+
smalltalk.method({
|
2507
|
+
selector: "switchTarget:",
|
2508
|
+
fn: function (aString){
|
2509
|
+
var self=this;
|
2510
|
+
var old=nil;
|
2511
|
+
(old=self['@target']);
|
2512
|
+
(self['@target']=aString);
|
2513
|
+
return old;
|
2514
|
+
return self;}
|
2515
|
+
}),
|
2516
|
+
smalltalk.ImpCodeGenerator);
|
2517
|
+
|
2518
|
+
smalltalk.addMethod(
|
2519
|
+
"_tempVariables",
|
2520
|
+
smalltalk.method({
|
2521
|
+
selector: "tempVariables",
|
2522
|
+
fn: function () {
|
2523
|
+
var self=this;
|
2524
|
+
return smalltalk.send(self['@tempVariables'], "_copy", []);
|
2525
|
+
return self;}
|
2526
|
+
}),
|
2527
|
+
smalltalk.ImpCodeGenerator);
|
2528
|
+
|
2529
|
+
smalltalk.addMethod(
|
2530
|
+
"_unknownVariables",
|
2531
|
+
smalltalk.method({
|
2532
|
+
selector: "unknownVariables",
|
2533
|
+
fn: function () {
|
2534
|
+
var self=this;
|
2535
|
+
return smalltalk.send(self['@unknownVariables'], "_copy", []);
|
2536
|
+
return self;}
|
2537
|
+
}),
|
2538
|
+
smalltalk.ImpCodeGenerator);
|
2539
|
+
|
2540
|
+
smalltalk.addMethod(
|
2541
|
+
"_useValueNamed_",
|
2542
|
+
smalltalk.method({
|
2543
|
+
selector: "useValueNamed:",
|
2544
|
+
fn: function (key){
|
2545
|
+
var self=this;
|
2546
|
+
var $early={};
|
2547
|
+
try{var val=nil;
|
2548
|
+
((($receiver = smalltalk.send(self['@realVarNames'], "_includes_", [key])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (function(){throw $early=[key]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (function(){throw $early=[key]})();})]));
|
2549
|
+
smalltalk.send(self['@mutables'], "_remove_", [key]);
|
2550
|
+
return smalltalk.send(self['@lazyVars'], "_at_", [key]);
|
2551
|
+
return self;
|
2552
|
+
} catch(e) {if(e===$early)return e[0]; throw e}}
|
2553
|
+
}),
|
2554
|
+
smalltalk.ImpCodeGenerator);
|
2555
|
+
|
2556
|
+
smalltalk.addMethod(
|
2557
|
+
"_visit_",
|
2558
|
+
smalltalk.method({
|
2559
|
+
selector: "visit:",
|
2560
|
+
fn: function (aNode) {
|
2561
|
+
var self=this;
|
2562
|
+
smalltalk.send(aNode, "_accept_", [self]);
|
2563
|
+
return self;}
|
2564
|
+
}),
|
2565
|
+
smalltalk.ImpCodeGenerator);
|
2566
|
+
|
2567
|
+
smalltalk.addMethod(
|
2568
|
+
"_visit_targetBeing_",
|
2569
|
+
smalltalk.method({
|
2570
|
+
selector: "visit:targetBeing:",
|
2571
|
+
fn: function (aNode, aString){
|
2572
|
+
var self=this;
|
2573
|
+
var old=nil;
|
2574
|
+
(old=smalltalk.send(self, "_switchTarget_", [aString]));
|
2575
|
+
smalltalk.send(self, "_visit_", [aNode]);
|
2576
|
+
return smalltalk.send(self, "_switchTarget_", [old]);
|
2577
|
+
return self;}
|
2578
|
+
}),
|
2579
|
+
smalltalk.ImpCodeGenerator);
|
2580
|
+
|
2581
|
+
smalltalk.addMethod(
|
2582
|
+
"_visitAssignmentNode_",
|
2583
|
+
smalltalk.method({
|
2584
|
+
selector: "visitAssignmentNode:",
|
2585
|
+
fn: function (aNode){
|
2586
|
+
var self=this;
|
2587
|
+
var olds=nil;
|
2588
|
+
var oldt=nil;
|
2589
|
+
(olds=self['@stream']);
|
2590
|
+
(self['@stream']=smalltalk.send("", "_writeStream", []));
|
2591
|
+
(oldt=smalltalk.send(self, "_switchTarget_", [smalltalk.send(self, "_nextLazyvarName", [])]));
|
2592
|
+
smalltalk.send(self, "_visit_", [smalltalk.send(aNode, "_left", [])]);
|
2593
|
+
smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(self['@lazyVars'], "_at_", [self['@target']]), "_~_eq", [self['@target']])]);
|
2594
|
+
smalltalk.send(self, "_switchTarget_", [smalltalk.send(self, "_useValueNamed_", [smalltalk.send(self, "_switchTarget_", [nil])])]);
|
2595
|
+
smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(self['@lazyVars'], "_includesKey_", [self['@target']]), "_not", [])]);
|
2596
|
+
(self['@stream']=olds);
|
2597
|
+
smalltalk.send(self, "_visit_", [smalltalk.send(aNode, "_right", [])]);
|
2598
|
+
(olds=smalltalk.send(self, "_switchTarget_", [oldt]));
|
2599
|
+
smalltalk.send(self, "_ifValueWanted_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [olds]);})]);
|
2600
|
+
return self;}
|
2601
|
+
}),
|
2602
|
+
smalltalk.ImpCodeGenerator);
|
2603
|
+
|
2604
|
+
smalltalk.addMethod(
|
2605
|
+
"_visitBlockNode_",
|
2606
|
+
smalltalk.method({
|
2607
|
+
selector: "visitBlockNode:",
|
2608
|
+
fn: function (aNode){
|
2609
|
+
var self=this;
|
2610
|
+
var oldt=nil;
|
2611
|
+
var olds=nil;
|
2612
|
+
var oldm=nil;
|
2613
|
+
smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_size", []), "__eq", [(1)])]);
|
2614
|
+
(oldt=smalltalk.send(self, "_switchTarget_", ["^"]));
|
2615
|
+
(olds=self['@stream']);
|
2616
|
+
(self['@stream']=smalltalk.send("", "_writeStream", []));
|
2617
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", ["(function("]);
|
2618
|
+
smalltalk.send(smalltalk.send(aNode, "_parameters", []), "_do_separatedBy_", [(function(each){smalltalk.send(self['@tempVariables'], "_add_", [each]);return smalltalk.send(self['@stream'], "_nextPutAll_", [each]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [", "]);})]);
|
2619
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", ["){"]);
|
2620
|
+
(self['@nestedBlocks']=((($receiver = self['@nestedBlocks']).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));
|
2621
|
+
(oldm=self['@mutables']);
|
2622
|
+
(self['@mutables']=smalltalk.send((smalltalk.Set || Set), "_new", []));
|
2623
|
+
smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_first", [])]);
|
2624
|
+
smalltalk.send(self, "_assert_", [smalltalk.send(self['@mutables'], "_isEmpty", [])]);
|
2625
|
+
(self['@mutables']=oldm);
|
2626
|
+
(self['@nestedBlocks']=((($receiver = self['@nestedBlocks']).klass === smalltalk.Number) ? $receiver -(1) : smalltalk.send($receiver, "__minus", [(1)])));
|
2627
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", ["})"]);
|
2628
|
+
smalltalk.send(self, "_switchTarget_", [oldt]);
|
2629
|
+
(oldt=smalltalk.send(self['@stream'], "_contents", []));
|
2630
|
+
(self['@stream']=olds);
|
2631
|
+
smalltalk.send(self, "_lazyAssignExpression_", [oldt]);
|
2632
|
+
return self;}
|
2633
|
+
}),
|
2634
|
+
smalltalk.ImpCodeGenerator);
|
2635
|
+
|
2636
|
+
smalltalk.addMethod(
|
2637
|
+
"_visitBlockSequenceNode_",
|
2638
|
+
smalltalk.method({
|
2639
|
+
selector: "visitBlockSequenceNode:",
|
2640
|
+
fn: function (aNode) {
|
2641
|
+
var self=this;
|
2642
|
+
smalltalk.send(self, "_sequenceOfNodes_temps_", [smalltalk.send(aNode, "_nodes", []), smalltalk.send(aNode, "_temps", [])]);
|
2643
|
+
return self;}
|
2644
|
+
}),
|
2645
|
+
smalltalk.ImpCodeGenerator);
|
2646
|
+
|
2647
|
+
smalltalk.addMethod(
|
2648
|
+
"_visitCascadeNode_",
|
2649
|
+
smalltalk.method({
|
2650
|
+
selector: "visitCascadeNode:",
|
2651
|
+
fn: function (aNode){
|
2652
|
+
var self=this;
|
2653
|
+
var rcv=nil;
|
2654
|
+
(rcv=smalltalk.send(self, "_isolated_", [smalltalk.send(aNode, "_receiver", [])]));
|
2655
|
+
smalltalk.send(self, "_aboutToModifyState", []);
|
2656
|
+
(rcv=smalltalk.send(self, "_useValueNamed_", [rcv]));
|
2657
|
+
smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_", [(function(each){return smalltalk.send(each, "_receiver_", [smalltalk.send(smalltalk.send((smalltalk.VerbatimNode || VerbatimNode), "_new", []), "_value_", [rcv])]);})]);
|
2658
|
+
smalltalk.send(self, "_sequenceOfNodes_temps_", [smalltalk.send(aNode, "_nodes", []), []]);
|
2659
|
+
return self;}
|
2660
|
+
}),
|
2661
|
+
smalltalk.ImpCodeGenerator);
|
2662
|
+
|
2663
|
+
smalltalk.addMethod(
|
2664
|
+
"_visitClassReferenceNode_",
|
2665
|
+
smalltalk.method({
|
2666
|
+
selector: "visitClassReferenceNode:",
|
2667
|
+
fn: function (aNode){
|
2668
|
+
var self=this;
|
2669
|
+
((($receiver = smalltalk.send(self['@referencedClasses'], "_includes_", [smalltalk.send(aNode, "_value", [])])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(self['@referencedClasses'], "_add_", [smalltalk.send(aNode, "_value", [])]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(self['@referencedClasses'], "_add_", [smalltalk.send(aNode, "_value", [])]);})]));
|
2670
|
+
smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(smalltalk.", "__comma", [smalltalk.send(aNode, "_value", [])]), "__comma", [" || "]), "__comma", [smalltalk.send(aNode, "_value", [])]), "__comma", [")"])]);
|
2671
|
+
return self;}
|
2672
|
+
}),
|
2673
|
+
smalltalk.ImpCodeGenerator);
|
2674
|
+
|
2675
|
+
smalltalk.addMethod(
|
2676
|
+
"_visitDynamicArrayNode_",
|
2677
|
+
smalltalk.method({
|
2678
|
+
selector: "visitDynamicArrayNode:",
|
2679
|
+
fn: function (aNode){
|
2680
|
+
var self=this;
|
2681
|
+
var args=nil;
|
2682
|
+
(args=smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_collect_", [(function(node){return smalltalk.send(self, "_isolated_", [node]);})]));
|
2683
|
+
smalltalk.send(self, "_lazyAssignValue_", [smalltalk.send((smalltalk.String || String), "_streamContents_", [(function(str){smalltalk.send(str, "_nextPutAll_", ["["]);smalltalk.send(args, "_do_separatedBy_", [(function(each){return smalltalk.send(str, "_nextPutAll_", [smalltalk.send(self, "_useValueNamed_", [each])]);}), (function(){return smalltalk.send(str, "_nextPutAll_", [", "]);})]);return smalltalk.send(str, "_nextPutAll_", ["]"]);})])]);
|
2684
|
+
return self;}
|
2685
|
+
}),
|
2686
|
+
smalltalk.ImpCodeGenerator);
|
2687
|
+
|
2688
|
+
smalltalk.addMethod(
|
2689
|
+
"_visitDynamicDictionaryNode_",
|
2690
|
+
smalltalk.method({
|
2691
|
+
selector: "visitDynamicDictionaryNode:",
|
2692
|
+
fn: function (aNode){
|
2693
|
+
var self=this;
|
2694
|
+
var elements=nil;
|
2695
|
+
(elements=smalltalk.send(self, "_isolated_", [(function($rec){smalltalk.send($rec, "_nodes_", [smalltalk.send(aNode, "_nodes", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.DynamicArrayNode || DynamicArrayNode), "_new", []))]));
|
2696
|
+
smalltalk.send(self, "_lazyAssignValue_", [smalltalk.send(smalltalk.send("smalltalk.HashedCollection._fromPairs_(", "__comma", [smalltalk.send(self, "_useValueNamed_", [elements])]), "__comma", [")"])]);
|
2697
|
+
return self;}
|
2698
|
+
}),
|
2699
|
+
smalltalk.ImpCodeGenerator);
|
2700
|
+
|
2701
|
+
smalltalk.addMethod(
|
2702
|
+
"_visitFailure_",
|
2703
|
+
smalltalk.method({
|
2704
|
+
selector: "visitFailure:",
|
2705
|
+
fn: function (aFailure) {
|
2706
|
+
var self=this;
|
2707
|
+
smalltalk.send(self, "_error_", [smalltalk.send(aFailure, "_asString", [])]);
|
2708
|
+
return self;}
|
2709
|
+
}),
|
2710
|
+
smalltalk.ImpCodeGenerator);
|
2711
|
+
|
2712
|
+
smalltalk.addMethod(
|
2713
|
+
"_visitJSStatementNode_",
|
2714
|
+
smalltalk.method({
|
2715
|
+
selector: "visitJSStatementNode:",
|
2716
|
+
fn: function (aNode){
|
2717
|
+
var self=this;
|
2718
|
+
smalltalk.send(self, "_aboutToModifyState", []);
|
2719
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(";", "__comma", [smalltalk.send(smalltalk.send(aNode, "_source", []), "_replace_with_", [">>", ">"])]), "__comma", [";"]), "__comma", [smalltalk.send(self, "_mylf", [])])]);
|
2720
|
+
return self;}
|
2721
|
+
}),
|
2722
|
+
smalltalk.ImpCodeGenerator);
|
2723
|
+
|
2724
|
+
smalltalk.addMethod(
|
2725
|
+
"_visitMethodNode_",
|
2726
|
+
smalltalk.method({
|
2727
|
+
selector: "visitMethodNode:",
|
2728
|
+
fn: function (aNode){
|
2729
|
+
var self=this;
|
2730
|
+
var str=nil;
|
2731
|
+
var currentSelector=nil;
|
2732
|
+
(self['@currentSelector']=smalltalk.send(smalltalk.send(aNode, "_selector", []), "_asSelector", []));
|
2733
|
+
(self['@nestedBlocks']=(0));
|
2734
|
+
(self['@earlyReturn']=false);
|
2735
|
+
(self['@messageSends']=[]);
|
2736
|
+
(self['@referencedClasses']=[]);
|
2737
|
+
(self['@unknownVariables']=[]);
|
2738
|
+
(self['@tempVariables']=[]);
|
2739
|
+
(self['@argVariables']=[]);
|
2740
|
+
(self['@lazyVars']=smalltalk.send((smalltalk.HashedCollection || HashedCollection), "_new", []));
|
2741
|
+
(self['@mutables']=smalltalk.send((smalltalk.Set || Set), "_new", []));
|
2742
|
+
(self['@realVarNames']=smalltalk.send((smalltalk.Set || Set), "_new", []));
|
2743
|
+
(function($rec){smalltalk.send($rec, "_nextPutAll_", ["smalltalk.method({"]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("selector: \x22", "__comma", [smalltalk.send(aNode, "_selector", [])]), "__comma", ["\x22,"])]);return smalltalk.send($rec, "_lf", []);})(self['@stream']);
|
2744
|
+
(function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("source: ", "__comma", [smalltalk.send(smalltalk.send(self, "_source", []), "_asJavascript", [])]), "__comma", [","])]);return smalltalk.send($rec, "_lf", []);})(self['@stream']);
|
2745
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", ["fn: function("]);
|
2746
|
+
smalltalk.send(smalltalk.send(aNode, "_arguments", []), "_do_separatedBy_", [(function(each){smalltalk.send(self['@argVariables'], "_add_", [each]);return smalltalk.send(self['@stream'], "_nextPutAll_", [each]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [", "]);})]);
|
2747
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send("){var self=this;", "__comma", [smalltalk.send(self, "_mylf", [])])]);
|
2748
|
+
(str=self['@stream']);
|
2749
|
+
(self['@stream']=smalltalk.send("", "_writeStream", []));
|
2750
|
+
smalltalk.send(self, "_switchTarget_", [nil]);
|
2751
|
+
smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_size", []), "__eq", [(1)])]);
|
2752
|
+
smalltalk.send(self, "_visit_", [smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_first", [])]);
|
2753
|
+
smalltalk.send(self['@realVarNames'], "_ifNotEmpty_", [(function(){return smalltalk.send(str, "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send("var ", "__comma", [smalltalk.send(smalltalk.send(self['@realVarNames'], "_asArray", []), "_join_", [","])]), "__comma", [";"]), "__comma", [smalltalk.send(self, "_mylf", [])])]);})]);
|
2754
|
+
((($receiver = self['@earlyReturn']).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(str, "_nextPutAll_", [smalltalk.send("var $early={}; try{", "__comma", [smalltalk.send(self, "_mylf", [])])]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(str, "_nextPutAll_", [smalltalk.send("var $early={}; try{", "__comma", [smalltalk.send(self, "_mylf", [])])]);})]));
|
2755
|
+
smalltalk.send(str, "_nextPutAll_", [smalltalk.send(self['@stream'], "_contents", [])]);
|
2756
|
+
(self['@stream']=str);
|
2757
|
+
((($receiver = smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_first", []), "_nodes", []), "_notEmpty", []), "_and_", [(function(){var checker=nil;
|
2758
|
+
(checker=smalltalk.send((smalltalk.ReturnNodeChecker || ReturnNodeChecker), "_new", []));smalltalk.send(checker, "_visit_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_first", []), "_nodes", []), "_last", [])]);return smalltalk.send(checker, "_wasReturnNode", []);})])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){smalltalk.send(self, "_switchTarget_", ["^"]);smalltalk.send(self, "_lazyAssignValue_", ["self"]);return smalltalk.send(self, "_switchTarget_", [nil]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){smalltalk.send(self, "_switchTarget_", ["^"]);smalltalk.send(self, "_lazyAssignValue_", ["self"]);return smalltalk.send(self, "_switchTarget_", [nil]);})]));
|
2759
|
+
((($receiver = self['@earlyReturn']).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["} catch(e) {if(e===$early) return e[0]; throw e}"]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["} catch(e) {if(e===$early) return e[0]; throw e}"]);})]));
|
2760
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", ["}"]);
|
2761
|
+
(function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(",", "__comma", [smalltalk.send((smalltalk.String || String), "_lf", [])]), "__comma", ["messageSends: "])]);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(self['@messageSends'], "_asJavascript", []), "__comma", [","])]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("args: ", "__comma", [smalltalk.send(self['@argVariables'], "_asJavascript", [])]), "__comma", [","])]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_nextPutAll_", ["referencedClasses: ["]);})(self['@stream']);
|
2762
|
+
smalltalk.send(self['@referencedClasses'], "_do_separatedBy_", [(function(each){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(each, "_printString", [])]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [","]);})]);
|
2763
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", ["]"]);
|
2764
|
+
smalltalk.send(self['@stream'], "_nextPutAll_", ["})"]);
|
2765
|
+
smalltalk.send(self, "_assert_", [smalltalk.send(self['@mutables'], "_isEmpty", [])]);
|
2766
|
+
return self;}
|
2767
|
+
}),
|
2768
|
+
smalltalk.ImpCodeGenerator);
|
2769
|
+
|
2770
|
+
smalltalk.addMethod(
|
2771
|
+
"_visitReturnNode_",
|
2772
|
+
smalltalk.method({
|
2773
|
+
selector: "visitReturnNode:",
|
2774
|
+
fn: function (aNode){
|
2775
|
+
var self=this;
|
2776
|
+
smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_size", []), "__eq", [(1)])]);
|
2777
|
+
((($receiver = ((($receiver = self['@nestedBlocks']).klass === smalltalk.Number) ? $receiver >(0) : smalltalk.send($receiver, "__gt", [(0)]))).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (self['@earlyReturn']=true);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (self['@earlyReturn']=true);})]));
|
2778
|
+
smalltalk.send(self, "_visit_targetBeing_", [smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_first", []), ((($receiver = ((($receiver = self['@nestedBlocks']).klass === smalltalk.Number) ? $receiver >(0) : smalltalk.send($receiver, "__gt", [(0)]))).klass === smalltalk.Boolean) ? ($receiver ? (function(){return "!";})() : (function(){return "^";})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return "!";}), (function(){return "^";})]))]);
|
2779
|
+
smalltalk.send(self, "_lazyAssignValue_", [""]);
|
2780
|
+
return self;}
|
2781
|
+
}),
|
2782
|
+
smalltalk.ImpCodeGenerator);
|
2783
|
+
|
2784
|
+
smalltalk.addMethod(
|
2785
|
+
"_visitSendNode_",
|
2786
|
+
smalltalk.method({
|
2787
|
+
selector: "visitSendNode:",
|
2788
|
+
fn: function (aNode){
|
2789
|
+
var self=this;
|
2790
|
+
var $early={};
|
2791
|
+
try{var receiver=nil;
|
2792
|
+
var superSend=nil;
|
2793
|
+
var rcv=nil;
|
2794
|
+
((($receiver = smalltalk.send(self['@messageSends'], "_includes_", [smalltalk.send(aNode, "_selector", [])])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(self['@messageSends'], "_add_", [smalltalk.send(aNode, "_selector", [])]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(self['@messageSends'], "_add_", [smalltalk.send(aNode, "_selector", [])]);})]));
|
2795
|
+
((($receiver = smalltalk.send(self, "_performOptimizations", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return ((($receiver = smalltalk.send(self, "_inlineLiteral_receiverNode_argumentNodes_", [smalltalk.send(aNode, "_selector", []), smalltalk.send(aNode, "_receiver", []), smalltalk.send(aNode, "_arguments", [])])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (function(){throw $early=[self]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (function(){throw $early=[self]})();})]));})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return ((($receiver = smalltalk.send(self, "_inlineLiteral_receiverNode_argumentNodes_", [smalltalk.send(aNode, "_selector", []), smalltalk.send(aNode, "_receiver", []), smalltalk.send(aNode, "_arguments", [])])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (function(){throw $early=[self]})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (function(){throw $early=[self]})();})]));})]));
|
2796
|
+
(rcv=smalltalk.send(self, "_isolated_", [smalltalk.send(aNode, "_receiver", [])]));
|
2797
|
+
(superSend=smalltalk.send(smalltalk.send(self['@lazyVars'], "_at_ifAbsent_", [rcv, (function(){return nil;})]), "__eq", ["super"]));
|
2798
|
+
((($receiver = superSend).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@mutables'], "_remove_", [rcv]);return smalltalk.send(self['@lazyVars'], "_at_put_", [rcv, "self"]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@mutables'], "_remove_", [rcv]);return smalltalk.send(self['@lazyVars'], "_at_put_", [rcv, "self"]);})]));
|
2799
|
+
((($receiver = smalltalk.send(self, "_performOptimizations", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){var inline=nil;
|
2800
|
+
(inline=smalltalk.send(self, "_inline_receiver_argumentNodes_", [smalltalk.send(aNode, "_selector", []), rcv, smalltalk.send(aNode, "_arguments", [])]));return (($receiver = inline) != nil && $receiver != undefined) ? (function(){var args=nil;
|
2801
|
+
(args=((($receiver = smalltalk.send(inline, "__eq", [true])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(aNode, "_arguments", []);})() : (function(){return inline;})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(aNode, "_arguments", []);}), (function(){return inline;})])));smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_send_to_arguments_superSend_", [smalltalk.send(aNode, "_selector", []), rcv, args, superSend]);})]);return (function(){throw $early=[self]})();})() : nil;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){var inline=nil;
|
2802
|
+
(inline=smalltalk.send(self, "_inline_receiver_argumentNodes_", [smalltalk.send(aNode, "_selector", []), rcv, smalltalk.send(aNode, "_arguments", [])]));return (($receiver = inline) != nil && $receiver != undefined) ? (function(){var args=nil;
|
2803
|
+
(args=((($receiver = smalltalk.send(inline, "__eq", [true])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(aNode, "_arguments", []);})() : (function(){return inline;})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(aNode, "_arguments", []);}), (function(){return inline;})])));smalltalk.send(self, "_prvPutAndClose_", [(function(){return smalltalk.send(self, "_send_to_arguments_superSend_", [smalltalk.send(aNode, "_selector", []), rcv, args, superSend]);})]);return (function(){throw $early=[self]})();})() : nil;})]));
|
2804
|
+
smalltalk.send(self, "_send_to_arguments_superSend_", [smalltalk.send(aNode, "_selector", []), rcv, smalltalk.send(aNode, "_arguments", []), superSend]);
|
2805
|
+
return self;
|
2806
|
+
} catch(e) {if(e===$early)return e[0]; throw e}}
|
2807
|
+
}),
|
2808
|
+
smalltalk.ImpCodeGenerator);
|
2809
|
+
|
2810
|
+
smalltalk.addMethod(
|
2811
|
+
"_visitSequenceNode_",
|
2812
|
+
smalltalk.method({
|
2813
|
+
selector: "visitSequenceNode:",
|
2814
|
+
fn: function (aNode) {
|
2815
|
+
var self=this;
|
2816
|
+
((($receiver = smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_isEmpty", [])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(self, "_sequenceOfNodes_temps_", [smalltalk.send(aNode, "_nodes", []), smalltalk.send(aNode, "_temps", [])]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(self, "_sequenceOfNodes_temps_", [smalltalk.send(aNode, "_nodes", []), smalltalk.send(aNode, "_temps", [])]);})]));
|
2817
|
+
return self;}
|
2818
|
+
}),
|
2819
|
+
smalltalk.ImpCodeGenerator);
|
2820
|
+
|
2821
|
+
smalltalk.addMethod(
|
2822
|
+
"_visitValueNode_",
|
2823
|
+
smalltalk.method({
|
2824
|
+
selector: "visitValueNode:",
|
2825
|
+
fn: function (aNode){
|
2826
|
+
var self=this;
|
2827
|
+
smalltalk.send(self, "_lazyAssignValue_", [smalltalk.send(smalltalk.send(aNode, "_value", []), "_asJavascript", [])]);
|
2828
|
+
return self;}
|
2829
|
+
}),
|
2830
|
+
smalltalk.ImpCodeGenerator);
|
2831
|
+
|
2832
|
+
smalltalk.addMethod(
|
2833
|
+
"_visitVariableNode_",
|
2834
|
+
smalltalk.method({
|
2835
|
+
selector: "visitVariableNode:",
|
2836
|
+
fn: function (aNode){
|
2837
|
+
var self=this;
|
2838
|
+
var varName=nil;
|
2839
|
+
((($receiver = smalltalk.send(smalltalk.send(smalltalk.send(self, "_currentClass", []), "_allInstanceVariableNames", []), "_includes_", [smalltalk.send(aNode, "_value", [])])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send("self['@", "__comma", [smalltalk.send(aNode, "_value", [])]), "__comma", ["']"])]);})() : (function(){(varName=smalltalk.send(self, "_safeVariableNameFor_", [smalltalk.send(aNode, "_value", [])]));return ((($receiver = smalltalk.send(smalltalk.send(self, "_knownVariables", []), "_includes_", [varName])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){smalltalk.send(self['@unknownVariables'], "_add_", [smalltalk.send(aNode, "_value", [])]);return ((($receiver = smalltalk.send(aNode, "_assigned", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})() : (function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);}), (function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})]));})() : (function(){return ((($receiver = smalltalk.send(smalltalk.send(aNode, "_value", []), "__eq", ["thisContext"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignExpression_", ["(smalltalk.getThisContext())"]);})() : (function(){return ((($receiver = smalltalk.send(smalltalk.send(self, "_pseudoVariables", []), "_includes_", [varName])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);})() : (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);}), (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})]));})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", ["(smalltalk.getThisContext())"]);}), (function(){return ((($receiver = smalltalk.send(smalltalk.send(self, "_pseudoVariables", []), "_includes_", [varName])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);})() : (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);}), (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})]));})]));})()) : smalltalk.send($receiver, "_ifFalse_ifTrue_", [(function(){smalltalk.send(self['@unknownVariables'], "_add_", [smalltalk.send(aNode, "_value", [])]);return ((($receiver = smalltalk.send(aNode, "_assigned", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})() : (function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);}), (function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})]));}), (function(){return ((($receiver = smalltalk.send(smalltalk.send(aNode, "_value", []), "__eq", ["thisContext"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignExpression_", ["(smalltalk.getThisContext())"]);})() : (function(){return ((($receiver = smalltalk.send(smalltalk.send(self, "_pseudoVariables", []), "_includes_", [varName])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);})() : (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);}), (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})]));})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", ["(smalltalk.getThisContext())"]);}), (function(){return ((($receiver = smalltalk.send(smalltalk.send(self, "_pseudoVariables", []), "_includes_", [varName])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);})() : (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);}), (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})]));})]));})]));})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send("self['@", "__comma", [smalltalk.send(aNode, "_value", [])]), "__comma", ["']"])]);}), (function(){(varName=smalltalk.send(self, "_safeVariableNameFor_", [smalltalk.send(aNode, "_value", [])]));return ((($receiver = smalltalk.send(smalltalk.send(self, "_knownVariables", []), "_includes_", [varName])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){smalltalk.send(self['@unknownVariables'], "_add_", [smalltalk.send(aNode, "_value", [])]);return ((($receiver = smalltalk.send(aNode, "_assigned", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})() : (function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);}), (function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})]));})() : (function(){return ((($receiver = smalltalk.send(smalltalk.send(aNode, "_value", []), "__eq", ["thisContext"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignExpression_", ["(smalltalk.getThisContext())"]);})() : (function(){return ((($receiver = smalltalk.send(smalltalk.send(self, "_pseudoVariables", []), "_includes_", [varName])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);})() : (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);}), (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})]));})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", ["(smalltalk.getThisContext())"]);}), (function(){return ((($receiver = smalltalk.send(smalltalk.send(self, "_pseudoVariables", []), "_includes_", [varName])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);})() : (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);}), (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})]));})]));})()) : smalltalk.send($receiver, "_ifFalse_ifTrue_", [(function(){smalltalk.send(self['@unknownVariables'], "_add_", [smalltalk.send(aNode, "_value", [])]);return ((($receiver = smalltalk.send(aNode, "_assigned", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})() : (function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);}), (function(){return smalltalk.send(self, "_lazyAssignExpression_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("(typeof ", "__comma", [varName]), "__comma", [" == 'undefined' ? nil : "]), "__comma", [varName]), "__comma", [")"])]);})]));}), (function(){return ((($receiver = smalltalk.send(smalltalk.send(aNode, "_value", []), "__eq", ["thisContext"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignExpression_", ["(smalltalk.getThisContext())"]);})() : (function(){return ((($receiver = smalltalk.send(smalltalk.send(self, "_pseudoVariables", []), "_includes_", [varName])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);})() : (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);}), (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})]));})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignExpression_", ["(smalltalk.getThisContext())"]);}), (function(){return ((($receiver = smalltalk.send(smalltalk.send(self, "_pseudoVariables", []), "_includes_", [varName])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);})() : (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_lazyAssignValue_", [varName]);}), (function(){return smalltalk.send(self, "_lazyAssignExpression_", [varName]);})]));})]));})]));})]));
|
2840
|
+
return self;}
|
2841
|
+
}),
|
2842
|
+
smalltalk.ImpCodeGenerator);
|
2843
|
+
|
2844
|
+
smalltalk.addMethod(
|
2845
|
+
"_visitVerbatimNode_",
|
2846
|
+
smalltalk.method({
|
2847
|
+
selector: "visitVerbatimNode:",
|
2848
|
+
fn: function (aNode){
|
2849
|
+
var self=this;
|
2850
|
+
smalltalk.send(self, "_lazyAssignValue_", [smalltalk.send(aNode, "_value", [])]);
|
2851
|
+
return self;}
|
2852
|
+
}),
|
2853
|
+
smalltalk.ImpCodeGenerator);
|
2854
|
+
|
2855
|
+
|
2856
|
+
smalltalk.ImpCodeGenerator.klass.iVarNames = ['performOptimizations'];
|
2857
|
+
smalltalk.addMethod(
|
2858
|
+
"_performOptimizations",
|
2859
|
+
smalltalk.method({
|
2860
|
+
selector: "performOptimizations",
|
2861
|
+
fn: function () {
|
2862
|
+
var self=this;
|
2863
|
+
return (($receiver = self['@performOptimizations']) == nil || $receiver == undefined) ? (function(){return true;})() : $receiver;
|
2864
|
+
return self;}
|
2865
|
+
}),
|
2866
|
+
smalltalk.ImpCodeGenerator.klass);
|
2867
|
+
|
2868
|
+
smalltalk.addMethod(
|
2869
|
+
"_performOptimizations_",
|
2870
|
+
smalltalk.method({
|
2871
|
+
selector: "performOptimizations:",
|
2872
|
+
fn: function (aBoolean) {
|
2873
|
+
var self=this;
|
2874
|
+
(self['@performOptimizations']=aBoolean);
|
2875
|
+
return self;}
|
2876
|
+
}),
|
2877
|
+
smalltalk.ImpCodeGenerator.klass);
|
2878
|
+
|
2879
|
+
|
2880
|
+
smalltalk.addClass('ReturnNodeChecker', smalltalk.NodeVisitor, ['wasReturnNode'], 'Compiler');
|
2881
|
+
smalltalk.addMethod(
|
2882
|
+
"_initialize",
|
2883
|
+
smalltalk.method({
|
2884
|
+
selector: "initialize",
|
2885
|
+
fn: function () {
|
2886
|
+
var self=this;
|
2887
|
+
(self['@wasReturnNode']=false);
|
2888
|
+
return self;}
|
2889
|
+
}),
|
2890
|
+
smalltalk.ReturnNodeChecker);
|
2891
|
+
|
2892
|
+
smalltalk.addMethod(
|
2893
|
+
"_visitReturnNode_",
|
2894
|
+
smalltalk.method({
|
2895
|
+
selector: "visitReturnNode:",
|
2896
|
+
fn: function (aNode) {
|
2897
|
+
var self=this;
|
2898
|
+
(self['@wasReturnNode']=true);
|
2899
|
+
return self;}
|
2900
|
+
}),
|
2901
|
+
smalltalk.ReturnNodeChecker);
|
2902
|
+
|
2903
|
+
smalltalk.addMethod(
|
2904
|
+
"_wasReturnNode",
|
2905
|
+
smalltalk.method({
|
2906
|
+
selector: "wasReturnNode",
|
2907
|
+
fn: function () {
|
2908
|
+
var self=this;
|
2909
|
+
return self['@wasReturnNode'];
|
2910
|
+
return self;}
|
2911
|
+
}),
|
2912
|
+
smalltalk.ReturnNodeChecker);
|
2913
|
+
|
2914
|
+
|
2915
|
+
|