resin 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/amber/bin/amberc +10 -350
- data/amber/js/Benchfib.deploy.js +80 -89
- data/amber/js/Benchfib.js +80 -89
- data/amber/js/Canvas.deploy.js +558 -545
- data/amber/js/Canvas.js +563 -545
- data/amber/js/Compiler-AST.deploy.js +431 -243
- data/amber/js/Compiler-AST.js +487 -244
- data/amber/js/Compiler-Core.deploy.js +201 -1045
- data/amber/js/Compiler-Core.js +208 -1207
- data/amber/js/Compiler-Exceptions.deploy.js +37 -18
- data/amber/js/Compiler-Exceptions.js +42 -18
- data/amber/js/Compiler-IR.deploy.js +1071 -774
- data/amber/js/Compiler-IR.js +1194 -848
- data/amber/js/Compiler-Inlining.deploy.js +395 -373
- data/amber/js/Compiler-Inlining.js +395 -373
- data/amber/js/Compiler-Interpreter.deploy.js +1202 -0
- data/amber/js/Compiler-Interpreter.js +1631 -0
- data/amber/js/Compiler-Semantic.deploy.js +695 -600
- data/amber/js/Compiler-Semantic.js +721 -611
- data/amber/js/Compiler-Tests.deploy.js +699 -376
- data/amber/js/Compiler-Tests.js +834 -381
- data/amber/js/Compiler.deploy.js +8563 -1805
- data/amber/js/Compiler.js +11476 -2633
- data/amber/js/Examples.deploy.js +29 -29
- data/amber/js/Examples.js +29 -29
- data/amber/js/IDE.deploy.js +3292 -2649
- data/amber/js/IDE.js +3318 -2710
- data/amber/js/Importer-Exporter.deploy.js +393 -349
- data/amber/js/Importer-Exporter.js +398 -354
- data/amber/js/Kernel-Announcements.deploy.js +53 -44
- data/amber/js/Kernel-Announcements.js +55 -44
- data/amber/js/Kernel-Classes.deploy.js +566 -368
- data/amber/js/Kernel-Classes.js +660 -402
- data/amber/js/Kernel-Collections.deploy.js +1149 -1098
- data/amber/js/Kernel-Collections.js +1183 -1116
- data/amber/js/Kernel-Exceptions.deploy.js +173 -75
- data/amber/js/Kernel-Exceptions.js +215 -77
- data/amber/js/Kernel-Methods.deploy.js +530 -313
- data/amber/js/Kernel-Methods.js +632 -338
- data/amber/js/Kernel-Objects.deploy.js +1734 -1577
- data/amber/js/Kernel-Objects.js +1867 -1654
- data/amber/js/Kernel-Tests.deploy.js +1416 -973
- data/amber/js/Kernel-Tests.js +1495 -981
- data/amber/js/Kernel-Transcript.deploy.js +23 -24
- data/amber/js/Kernel-Transcript.js +25 -26
- data/amber/js/SUnit-Tests.deploy.js +402 -0
- data/amber/js/SUnit-Tests.js +518 -0
- data/amber/js/SUnit.deploy.js +535 -237
- data/amber/js/SUnit.js +634 -246
- data/amber/js/amber.js +90 -53
- data/amber/js/boot.js +441 -255
- data/amber/js/init.js +1 -3
- data/amber/js/lib/CodeMirror/codemirror.css +3 -0
- data/amber/js/lib/CodeMirror/codemirror.js +104 -55
- data/amber/js/lib/peg-0.7.0.min.js +9 -0
- data/amber/js/parser.js +1504 -802
- data/amber/js/parser.pegjs +170 -165
- data/amber/st/Canvas.st +6 -0
- data/amber/st/Compiler-AST.st +54 -3
- data/amber/st/Compiler-Core.st +6 -551
- data/amber/st/Compiler-Exceptions.st +4 -0
- data/amber/st/Compiler-IR.st +205 -87
- data/amber/st/Compiler-Interpreter.st +597 -0
- data/amber/st/Compiler-Semantic.st +46 -21
- data/amber/st/Compiler-Tests.st +254 -7
- data/amber/st/Compiler.st +3172 -1541
- data/amber/st/IDE.st +57 -93
- data/amber/st/Importer-Exporter.st +4 -7
- data/amber/st/Kernel-Announcements.st +8 -0
- data/amber/st/Kernel-Classes.st +149 -40
- data/amber/st/Kernel-Collections.st +43 -32
- data/amber/st/Kernel-Exceptions.st +70 -1
- data/amber/st/Kernel-Methods.st +165 -27
- data/amber/st/Kernel-Objects.st +215 -140
- data/amber/st/Kernel-Tests.st +195 -10
- data/amber/st/Kernel-Transcript.st +1 -3
- data/amber/st/SUnit-Tests.st +186 -0
- data/amber/st/SUnit.st +186 -14
- data/bin/resin +6 -0
- data/lib/resin/cli.rb +19 -0
- metadata +41 -25
- data/amber/js/lib/peg-0.6.2.min.js +0 -2
- data/bin/resin-compile +0 -6
- data/bin/runresin +0 -12
@@ -18,10 +18,10 @@ smalltalk.method({
|
|
18
18
|
selector: "messageText",
|
19
19
|
fn: function (){
|
20
20
|
var self=this;
|
21
|
-
|
22
|
-
$1=
|
21
|
+
return smalltalk.withContext(function($ctx1) {
|
22
|
+
$1=_st(" Invalid assignment to variable: ").__comma(_st(self)._variableName());
|
23
23
|
return $1;
|
24
|
-
}
|
24
|
+
}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.InvalidAssignmentError)})}
|
25
25
|
}),
|
26
26
|
smalltalk.InvalidAssignmentError);
|
27
27
|
|
@@ -31,8 +31,10 @@ smalltalk.method({
|
|
31
31
|
selector: "variableName",
|
32
32
|
fn: function (){
|
33
33
|
var self=this;
|
34
|
-
return
|
35
|
-
|
34
|
+
return smalltalk.withContext(function($ctx1) {
|
35
|
+
$1=self["@variableName"];
|
36
|
+
return $1;
|
37
|
+
}, function($ctx1) {$ctx1.fill(self,"variableName",{}, smalltalk.InvalidAssignmentError)})}
|
36
38
|
}),
|
37
39
|
smalltalk.InvalidAssignmentError);
|
38
40
|
|
@@ -42,8 +44,8 @@ smalltalk.method({
|
|
42
44
|
selector: "variableName:",
|
43
45
|
fn: function (aString){
|
44
46
|
var self=this;
|
45
|
-
|
46
|
-
return self}
|
47
|
+
return smalltalk.withContext(function($ctx1) {
|
48
|
+
return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString}, smalltalk.InvalidAssignmentError)})}
|
47
49
|
}),
|
48
50
|
smalltalk.InvalidAssignmentError);
|
49
51
|
|
@@ -56,10 +58,10 @@ smalltalk.method({
|
|
56
58
|
selector: "messageText",
|
57
59
|
fn: function (){
|
58
60
|
var self=this;
|
59
|
-
|
60
|
-
$1=
|
61
|
+
return smalltalk.withContext(function($ctx1) {
|
62
|
+
$1=_st(_st("Variable shadowing error: ").__comma(_st(self)._variableName())).__comma(" is already defined");
|
61
63
|
return $1;
|
62
|
-
}
|
64
|
+
}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.ShadowingVariableError)})}
|
63
65
|
}),
|
64
66
|
smalltalk.ShadowingVariableError);
|
65
67
|
|
@@ -69,8 +71,10 @@ smalltalk.method({
|
|
69
71
|
selector: "variableName",
|
70
72
|
fn: function (){
|
71
73
|
var self=this;
|
72
|
-
return
|
73
|
-
|
74
|
+
return smalltalk.withContext(function($ctx1) {
|
75
|
+
$1=self["@variableName"];
|
76
|
+
return $1;
|
77
|
+
}, function($ctx1) {$ctx1.fill(self,"variableName",{}, smalltalk.ShadowingVariableError)})}
|
74
78
|
}),
|
75
79
|
smalltalk.ShadowingVariableError);
|
76
80
|
|
@@ -80,22 +84,37 @@ smalltalk.method({
|
|
80
84
|
selector: "variableName:",
|
81
85
|
fn: function (aString){
|
82
86
|
var self=this;
|
83
|
-
|
84
|
-
return self}
|
87
|
+
return smalltalk.withContext(function($ctx1) {
|
88
|
+
return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString}, smalltalk.ShadowingVariableError)})}
|
85
89
|
}),
|
86
90
|
smalltalk.ShadowingVariableError);
|
87
91
|
|
88
92
|
|
89
93
|
|
90
94
|
smalltalk.addClass('UnknownVariableError', smalltalk.SemanticError, ['variableName'], 'Compiler-Exceptions');
|
95
|
+
smalltalk.addMethod(
|
96
|
+
"_messageText",
|
97
|
+
smalltalk.method({
|
98
|
+
selector: "messageText",
|
99
|
+
fn: function (){
|
100
|
+
var self=this;
|
101
|
+
return smalltalk.withContext(function($ctx1) {
|
102
|
+
$1=_st(_st("Unknown Variable error: ").__comma(_st(self)._variableName())).__comma(" is not defined");
|
103
|
+
return $1;
|
104
|
+
}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.UnknownVariableError)})}
|
105
|
+
}),
|
106
|
+
smalltalk.UnknownVariableError);
|
107
|
+
|
91
108
|
smalltalk.addMethod(
|
92
109
|
"_variableName",
|
93
110
|
smalltalk.method({
|
94
111
|
selector: "variableName",
|
95
112
|
fn: function (){
|
96
113
|
var self=this;
|
97
|
-
return
|
98
|
-
|
114
|
+
return smalltalk.withContext(function($ctx1) {
|
115
|
+
$1=self["@variableName"];
|
116
|
+
return $1;
|
117
|
+
}, function($ctx1) {$ctx1.fill(self,"variableName",{}, smalltalk.UnknownVariableError)})}
|
99
118
|
}),
|
100
119
|
smalltalk.UnknownVariableError);
|
101
120
|
|
@@ -105,8 +124,8 @@ smalltalk.method({
|
|
105
124
|
selector: "variableName:",
|
106
125
|
fn: function (aString){
|
107
126
|
var self=this;
|
108
|
-
|
109
|
-
return self}
|
127
|
+
return smalltalk.withContext(function($ctx1) {
|
128
|
+
return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString}, smalltalk.UnknownVariableError)})}
|
110
129
|
}),
|
111
130
|
smalltalk.UnknownVariableError);
|
112
131
|
|
@@ -24,10 +24,10 @@ selector: "messageText",
|
|
24
24
|
category: 'accessing',
|
25
25
|
fn: function (){
|
26
26
|
var self=this;
|
27
|
-
|
28
|
-
$1=
|
27
|
+
return smalltalk.withContext(function($ctx1) {
|
28
|
+
$1=_st(" Invalid assignment to variable: ").__comma(_st(self)._variableName());
|
29
29
|
return $1;
|
30
|
-
},
|
30
|
+
}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.InvalidAssignmentError)})},
|
31
31
|
args: [],
|
32
32
|
source: "messageText\x0a\x09^ ' Invalid assignment to variable: ', self variableName",
|
33
33
|
messageSends: [",", "variableName"],
|
@@ -42,8 +42,10 @@ selector: "variableName",
|
|
42
42
|
category: 'accessing',
|
43
43
|
fn: function (){
|
44
44
|
var self=this;
|
45
|
-
return
|
46
|
-
|
45
|
+
return smalltalk.withContext(function($ctx1) {
|
46
|
+
$1=self["@variableName"];
|
47
|
+
return $1;
|
48
|
+
}, function($ctx1) {$ctx1.fill(self,"variableName",{}, smalltalk.InvalidAssignmentError)})},
|
47
49
|
args: [],
|
48
50
|
source: "variableName\x0a\x09^ variableName",
|
49
51
|
messageSends: [],
|
@@ -58,8 +60,8 @@ selector: "variableName:",
|
|
58
60
|
category: 'accessing',
|
59
61
|
fn: function (aString){
|
60
62
|
var self=this;
|
61
|
-
|
62
|
-
return self},
|
63
|
+
return smalltalk.withContext(function($ctx1) {
|
64
|
+
return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString}, smalltalk.InvalidAssignmentError)})},
|
63
65
|
args: ["aString"],
|
64
66
|
source: "variableName: aString\x0a\x09variableName := aString",
|
65
67
|
messageSends: [],
|
@@ -78,10 +80,10 @@ selector: "messageText",
|
|
78
80
|
category: 'accessing',
|
79
81
|
fn: function (){
|
80
82
|
var self=this;
|
81
|
-
|
82
|
-
$1=
|
83
|
+
return smalltalk.withContext(function($ctx1) {
|
84
|
+
$1=_st(_st("Variable shadowing error: ").__comma(_st(self)._variableName())).__comma(" is already defined");
|
83
85
|
return $1;
|
84
|
-
},
|
86
|
+
}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.ShadowingVariableError)})},
|
85
87
|
args: [],
|
86
88
|
source: "messageText\x0a\x09^ 'Variable shadowing error: ', self variableName, ' is already defined'",
|
87
89
|
messageSends: [",", "variableName"],
|
@@ -96,8 +98,10 @@ selector: "variableName",
|
|
96
98
|
category: 'accessing',
|
97
99
|
fn: function (){
|
98
100
|
var self=this;
|
99
|
-
return
|
100
|
-
|
101
|
+
return smalltalk.withContext(function($ctx1) {
|
102
|
+
$1=self["@variableName"];
|
103
|
+
return $1;
|
104
|
+
}, function($ctx1) {$ctx1.fill(self,"variableName",{}, smalltalk.ShadowingVariableError)})},
|
101
105
|
args: [],
|
102
106
|
source: "variableName\x0a\x09^ variableName",
|
103
107
|
messageSends: [],
|
@@ -112,8 +116,8 @@ selector: "variableName:",
|
|
112
116
|
category: 'accessing',
|
113
117
|
fn: function (aString){
|
114
118
|
var self=this;
|
115
|
-
|
116
|
-
return self},
|
119
|
+
return smalltalk.withContext(function($ctx1) {
|
120
|
+
return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString}, smalltalk.ShadowingVariableError)})},
|
117
121
|
args: ["aString"],
|
118
122
|
source: "variableName: aString\x0a\x09variableName := aString",
|
119
123
|
messageSends: [],
|
@@ -125,6 +129,24 @@ smalltalk.ShadowingVariableError);
|
|
125
129
|
|
126
130
|
smalltalk.addClass('UnknownVariableError', smalltalk.SemanticError, ['variableName'], 'Compiler-Exceptions');
|
127
131
|
smalltalk.UnknownVariableError.comment="I get signaled when a variable is not defined.\x0aThe default behavior is to allow it, as this is how Amber currently is able to seamlessly send messages to JavaScript objects."
|
132
|
+
smalltalk.addMethod(
|
133
|
+
"_messageText",
|
134
|
+
smalltalk.method({
|
135
|
+
selector: "messageText",
|
136
|
+
category: 'accessing',
|
137
|
+
fn: function (){
|
138
|
+
var self=this;
|
139
|
+
return smalltalk.withContext(function($ctx1) {
|
140
|
+
$1=_st(_st("Unknown Variable error: ").__comma(_st(self)._variableName())).__comma(" is not defined");
|
141
|
+
return $1;
|
142
|
+
}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.UnknownVariableError)})},
|
143
|
+
args: [],
|
144
|
+
source: "messageText\x0a\x09^ 'Unknown Variable error: ', self variableName, ' is not defined'",
|
145
|
+
messageSends: [",", "variableName"],
|
146
|
+
referencedClasses: []
|
147
|
+
}),
|
148
|
+
smalltalk.UnknownVariableError);
|
149
|
+
|
128
150
|
smalltalk.addMethod(
|
129
151
|
"_variableName",
|
130
152
|
smalltalk.method({
|
@@ -132,8 +154,10 @@ selector: "variableName",
|
|
132
154
|
category: 'accessing',
|
133
155
|
fn: function (){
|
134
156
|
var self=this;
|
135
|
-
return
|
136
|
-
|
157
|
+
return smalltalk.withContext(function($ctx1) {
|
158
|
+
$1=self["@variableName"];
|
159
|
+
return $1;
|
160
|
+
}, function($ctx1) {$ctx1.fill(self,"variableName",{}, smalltalk.UnknownVariableError)})},
|
137
161
|
args: [],
|
138
162
|
source: "variableName\x0a\x09^ variableName",
|
139
163
|
messageSends: [],
|
@@ -148,8 +172,8 @@ selector: "variableName:",
|
|
148
172
|
category: 'accessing',
|
149
173
|
fn: function (aString){
|
150
174
|
var self=this;
|
151
|
-
|
152
|
-
return self},
|
175
|
+
return smalltalk.withContext(function($ctx1) {
|
176
|
+
return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString}, smalltalk.UnknownVariableError)})},
|
153
177
|
args: ["aString"],
|
154
178
|
source: "variableName: aString\x0a\x09variableName := aString",
|
155
179
|
messageSends: [],
|
@@ -6,25 +6,63 @@ smalltalk.method({
|
|
6
6
|
selector: "alias:",
|
7
7
|
fn: function (aNode){
|
8
8
|
var self=this;
|
9
|
-
var $1,$2,$3,$4,$5,$6;
|
10
9
|
var variable;
|
11
|
-
|
10
|
+
return smalltalk.withContext(function($ctx1) {
|
11
|
+
$1=_st(aNode)._isImmutable();
|
12
12
|
if(smalltalk.assert($1)){
|
13
|
-
$2=
|
13
|
+
$2=_st(self)._visit_(aNode);
|
14
14
|
return $2;
|
15
15
|
};
|
16
|
-
$3=
|
17
|
-
|
18
|
-
$4=
|
16
|
+
$3=_st((smalltalk.IRVariable || IRVariable))._new();
|
17
|
+
_st($3)._variable_(_st(_st((smalltalk.AliasVar || AliasVar))._new())._name_(_st("$").__comma(_st(self)._nextAlias())));
|
18
|
+
$4=_st($3)._yourself();
|
19
19
|
variable=$4;
|
20
|
-
$5=
|
21
|
-
|
22
|
-
|
23
|
-
$6=
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
20
|
+
$5=_st((smalltalk.IRAssignment || IRAssignment))._new();
|
21
|
+
_st($5)._add_(variable);
|
22
|
+
_st($5)._add_(_st(self)._visit_(aNode));
|
23
|
+
$6=_st($5)._yourself();
|
24
|
+
_st(_st(self)._sequence())._add_($6);
|
25
|
+
_st(_st(_st(self)._method())._internalVariables())._add_(variable);
|
26
|
+
$7=variable;
|
27
|
+
return $7;
|
28
|
+
}, function($ctx1) {$ctx1.fill(self,"alias:",{aNode:aNode,variable:variable}, smalltalk.IRASTTranslator)})}
|
29
|
+
}),
|
30
|
+
smalltalk.IRASTTranslator);
|
31
|
+
|
32
|
+
smalltalk.addMethod(
|
33
|
+
"_aliasTemporally_",
|
34
|
+
smalltalk.method({
|
35
|
+
selector: "aliasTemporally:",
|
36
|
+
fn: function (aCollection){
|
37
|
+
var self=this;
|
38
|
+
var threshold,result;
|
39
|
+
return smalltalk.withContext(function($ctx1) {
|
40
|
+
threshold=(0);
|
41
|
+
$1=aCollection;
|
42
|
+
$2=(function(each,i){
|
43
|
+
return smalltalk.withContext(function($ctx2) {
|
44
|
+
if(smalltalk.assert($3)){
|
45
|
+
threshold=i;
|
46
|
+
return threshold;
|
47
|
+
};
|
48
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each,i:i},$ctx1)})});
|
49
|
+
_st($1)._withIndexDo_($2);
|
50
|
+
result=_st((smalltalk.OrderedCollection || OrderedCollection))._new();
|
51
|
+
$4=aCollection;
|
52
|
+
$5=(function(each,i){
|
53
|
+
return smalltalk.withContext(function($ctx2) {
|
54
|
+
$8=_st(i).__lt_eq(threshold);
|
55
|
+
if(smalltalk.assert($8)){
|
56
|
+
$7=_st(self)._alias_(each);
|
57
|
+
} else {
|
58
|
+
$7=_st(self)._visit_(each);
|
59
|
+
};
|
60
|
+
return _st($6)._add_($7);
|
61
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each,i:i},$ctx1)})});
|
62
|
+
_st($4)._withIndexDo_($5);
|
63
|
+
$9=result;
|
64
|
+
return $9;
|
65
|
+
}, function($ctx1) {$ctx1.fill(self,"aliasTemporally:",{aCollection:aCollection,threshold:threshold,result:result}, smalltalk.IRASTTranslator)})}
|
28
66
|
}),
|
29
67
|
smalltalk.IRASTTranslator);
|
30
68
|
|
@@ -34,8 +72,10 @@ smalltalk.method({
|
|
34
72
|
selector: "method",
|
35
73
|
fn: function (){
|
36
74
|
var self=this;
|
37
|
-
return
|
38
|
-
|
75
|
+
return smalltalk.withContext(function($ctx1) {
|
76
|
+
$1=self["@method"];
|
77
|
+
return $1;
|
78
|
+
}, function($ctx1) {$ctx1.fill(self,"method",{}, smalltalk.IRASTTranslator)})}
|
39
79
|
}),
|
40
80
|
smalltalk.IRASTTranslator);
|
41
81
|
|
@@ -45,8 +85,8 @@ smalltalk.method({
|
|
45
85
|
selector: "method:",
|
46
86
|
fn: function (anIRMethod){
|
47
87
|
var self=this;
|
48
|
-
|
49
|
-
return self}
|
88
|
+
return smalltalk.withContext(function($ctx1) {
|
89
|
+
return self}, function($ctx1) {$ctx1.fill(self,"method:",{anIRMethod:anIRMethod}, smalltalk.IRASTTranslator)})}
|
50
90
|
}),
|
51
91
|
smalltalk.IRASTTranslator);
|
52
92
|
|
@@ -56,17 +96,18 @@ smalltalk.method({
|
|
56
96
|
selector: "nextAlias",
|
57
97
|
fn: function (){
|
58
98
|
var self=this;
|
59
|
-
|
60
|
-
|
99
|
+
return smalltalk.withContext(function($ctx1) {
|
100
|
+
$1=self["@nextAlias"];
|
101
|
+
if(($receiver = $1) == nil || $receiver == undefined){
|
61
102
|
self["@nextAlias"]=(0);
|
62
103
|
self["@nextAlias"];
|
63
104
|
} else {
|
64
|
-
|
105
|
+
$1;
|
65
106
|
};
|
66
|
-
self["@nextAlias"]=
|
67
|
-
$
|
68
|
-
return $
|
69
|
-
}
|
107
|
+
self["@nextAlias"]=_st(self["@nextAlias"]).__plus((1));
|
108
|
+
$2=_st(self["@nextAlias"])._asString();
|
109
|
+
return $2;
|
110
|
+
}, function($ctx1) {$ctx1.fill(self,"nextAlias",{}, smalltalk.IRASTTranslator)})}
|
70
111
|
}),
|
71
112
|
smalltalk.IRASTTranslator);
|
72
113
|
|
@@ -76,8 +117,10 @@ smalltalk.method({
|
|
76
117
|
selector: "sequence",
|
77
118
|
fn: function (){
|
78
119
|
var self=this;
|
79
|
-
return
|
80
|
-
|
120
|
+
return smalltalk.withContext(function($ctx1) {
|
121
|
+
$1=self["@sequence"];
|
122
|
+
return $1;
|
123
|
+
}, function($ctx1) {$ctx1.fill(self,"sequence",{}, smalltalk.IRASTTranslator)})}
|
81
124
|
}),
|
82
125
|
smalltalk.IRASTTranslator);
|
83
126
|
|
@@ -87,8 +130,8 @@ smalltalk.method({
|
|
87
130
|
selector: "sequence:",
|
88
131
|
fn: function (anIRSequence){
|
89
132
|
var self=this;
|
90
|
-
|
91
|
-
return self}
|
133
|
+
return smalltalk.withContext(function($ctx1) {
|
134
|
+
return self}, function($ctx1) {$ctx1.fill(self,"sequence:",{anIRSequence:anIRSequence}, smalltalk.IRASTTranslator)})}
|
92
135
|
}),
|
93
136
|
smalltalk.IRASTTranslator);
|
94
137
|
|
@@ -98,8 +141,10 @@ smalltalk.method({
|
|
98
141
|
selector: "source",
|
99
142
|
fn: function (){
|
100
143
|
var self=this;
|
101
|
-
return
|
102
|
-
|
144
|
+
return smalltalk.withContext(function($ctx1) {
|
145
|
+
$1=self["@source"];
|
146
|
+
return $1;
|
147
|
+
}, function($ctx1) {$ctx1.fill(self,"source",{}, smalltalk.IRASTTranslator)})}
|
103
148
|
}),
|
104
149
|
smalltalk.IRASTTranslator);
|
105
150
|
|
@@ -109,8 +154,8 @@ smalltalk.method({
|
|
109
154
|
selector: "source:",
|
110
155
|
fn: function (aString){
|
111
156
|
var self=this;
|
112
|
-
|
113
|
-
return self}
|
157
|
+
return smalltalk.withContext(function($ctx1) {
|
158
|
+
return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString}, smalltalk.IRASTTranslator)})}
|
114
159
|
}),
|
115
160
|
smalltalk.IRASTTranslator);
|
116
161
|
|
@@ -120,8 +165,10 @@ smalltalk.method({
|
|
120
165
|
selector: "theClass",
|
121
166
|
fn: function (){
|
122
167
|
var self=this;
|
123
|
-
return
|
124
|
-
|
168
|
+
return smalltalk.withContext(function($ctx1) {
|
169
|
+
$1=self["@theClass"];
|
170
|
+
return $1;
|
171
|
+
}, function($ctx1) {$ctx1.fill(self,"theClass",{}, smalltalk.IRASTTranslator)})}
|
125
172
|
}),
|
126
173
|
smalltalk.IRASTTranslator);
|
127
174
|
|
@@ -131,8 +178,8 @@ smalltalk.method({
|
|
131
178
|
selector: "theClass:",
|
132
179
|
fn: function (aClass){
|
133
180
|
var self=this;
|
134
|
-
|
135
|
-
return self}
|
181
|
+
return smalltalk.withContext(function($ctx1) {
|
182
|
+
return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass}, smalltalk.IRASTTranslator)})}
|
136
183
|
}),
|
137
184
|
smalltalk.IRASTTranslator);
|
138
185
|
|
@@ -142,19 +189,18 @@ smalltalk.method({
|
|
142
189
|
selector: "visitAssignmentNode:",
|
143
190
|
fn: function (aNode){
|
144
191
|
var self=this;
|
145
|
-
var
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
$1
|
152
|
-
|
153
|
-
|
154
|
-
$
|
155
|
-
|
156
|
-
|
157
|
-
}
|
192
|
+
var left,right,assignment;
|
193
|
+
return smalltalk.withContext(function($ctx1) {
|
194
|
+
right=_st(self)._visit_(_st(aNode)._right());
|
195
|
+
left=_st(self)._visit_(_st(aNode)._left());
|
196
|
+
$1=_st((smalltalk.IRAssignment || IRAssignment))._new();
|
197
|
+
_st($1)._add_(left);
|
198
|
+
_st($1)._add_(right);
|
199
|
+
$2=_st($1)._yourself();
|
200
|
+
_st(_st(self)._sequence())._add_($2);
|
201
|
+
$3=left;
|
202
|
+
return $3;
|
203
|
+
}, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode,left:left,right:right,assignment:assignment}, smalltalk.IRASTTranslator)})}
|
158
204
|
}),
|
159
205
|
smalltalk.IRASTTranslator);
|
160
206
|
|
@@ -164,24 +210,26 @@ smalltalk.method({
|
|
164
210
|
selector: "visitBlockNode:",
|
165
211
|
fn: function (aNode){
|
166
212
|
var self=this;
|
167
|
-
var $1,$2,$3,$4;
|
168
213
|
var closure;
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
214
|
+
return smalltalk.withContext(function($ctx1) {
|
215
|
+
$1=_st((smalltalk.IRClosure || IRClosure))._new();
|
216
|
+
_st($1)._arguments_(_st(aNode)._parameters());
|
217
|
+
_st($1)._scope_(_st(aNode)._scope());
|
218
|
+
$2=_st($1)._yourself();
|
173
219
|
closure=$2;
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
220
|
+
_st(_st(_st(aNode)._scope())._temps())._do_((function(each){
|
221
|
+
return smalltalk.withContext(function($ctx2) {
|
222
|
+
_st($3)._name_(_st(each)._name());
|
223
|
+
_st($3)._scope_(_st(aNode)._scope());
|
224
|
+
$4=_st($3)._yourself();
|
225
|
+
return _st(closure)._add_($4);
|
226
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
|
227
|
+
_st(_st(aNode)._nodes())._do_((function(each){
|
228
|
+
return smalltalk.withContext(function($ctx2) {
|
229
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
|
230
|
+
$5=closure;
|
231
|
+
return $5;
|
232
|
+
}, function($ctx1) {$ctx1.fill(self,"visitBlockNode:",{aNode:aNode,closure:closure}, smalltalk.IRASTTranslator)})}
|
185
233
|
}),
|
186
234
|
smalltalk.IRASTTranslator);
|
187
235
|
|
@@ -191,25 +239,30 @@ smalltalk.method({
|
|
191
239
|
selector: "visitBlockSequenceNode:",
|
192
240
|
fn: function (aNode){
|
193
241
|
var self=this;
|
194
|
-
|
195
|
-
$
|
196
|
-
|
197
|
-
|
198
|
-
return smalltalk.
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
242
|
+
return smalltalk.withContext(function($ctx1) {
|
243
|
+
$2=self;
|
244
|
+
$3=_st((smalltalk.IRBlockSequence || IRBlockSequence))._new();
|
245
|
+
$4=(function(){
|
246
|
+
return smalltalk.withContext(function($ctx2) {
|
247
|
+
$6=(function(){
|
248
|
+
return smalltalk.withContext(function($ctx3) {
|
249
|
+
return smalltalk.withContext(function($ctx4) {
|
250
|
+
}, function($ctx4) {$ctx4.fillBlock({each:each},$ctx1)})}));
|
251
|
+
$7=_st(_st(_st(aNode)._nodes())._last())._isReturnNode();
|
252
|
+
if(smalltalk.assert($7)){
|
253
|
+
return _st(_st(self)._sequence())._add_(_st(self)._visit_(_st(_st(aNode)._nodes())._last()));
|
203
254
|
} else {
|
204
|
-
$
|
205
|
-
|
206
|
-
$
|
207
|
-
return
|
255
|
+
$8=_st((smalltalk.IRBlockReturn || IRBlockReturn))._new();
|
256
|
+
_st($8)._add_(_st(self)._visit_(_st(_st(aNode)._nodes())._last()));
|
257
|
+
$9=_st($8)._yourself();
|
258
|
+
return _st(_st(self)._sequence())._add_($9);
|
208
259
|
};
|
209
|
-
})
|
210
|
-
|
260
|
+
}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})});
|
261
|
+
return _st($5)._ifNotEmpty_($6);
|
262
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
|
263
|
+
$1=_st($2)._withSequence_do_($3,$4);
|
211
264
|
return $1;
|
212
|
-
}
|
265
|
+
}, function($ctx1) {$ctx1.fill(self,"visitBlockSequenceNode:",{aNode:aNode}, smalltalk.IRASTTranslator)})}
|
213
266
|
}),
|
214
267
|
smalltalk.IRASTTranslator);
|
215
268
|
|
@@ -219,22 +272,22 @@ smalltalk.method({
|
|
219
272
|
selector: "visitCascadeNode:",
|
220
273
|
fn: function (aNode){
|
221
274
|
var self=this;
|
222
|
-
var $1,$2;
|
223
275
|
var alias;
|
224
|
-
|
276
|
+
return smalltalk.withContext(function($ctx1) {
|
277
|
+
$1=_st(_st(aNode)._receiver())._isImmutable();
|
225
278
|
if(! smalltalk.assert($1)){
|
226
|
-
alias=
|
279
|
+
alias=_st(self)._alias_(_st(aNode)._receiver());
|
227
280
|
alias;
|
228
|
-
|
229
|
-
return smalltalk.
|
230
|
-
})
|
281
|
+
_st(_st(aNode)._nodes())._do_((function(each){
|
282
|
+
return smalltalk.withContext(function($ctx2) {
|
283
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
|
231
284
|
};
|
232
|
-
|
233
|
-
return smalltalk.
|
234
|
-
})
|
235
|
-
$2=
|
285
|
+
_st(_st(_st(aNode)._nodes())._allButLast())._do_((function(each){
|
286
|
+
return smalltalk.withContext(function($ctx2) {
|
287
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
|
288
|
+
$2=_st(self)._alias_(_st(_st(aNode)._nodes())._last());
|
236
289
|
return $2;
|
237
|
-
}
|
290
|
+
}, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode,alias:alias}, smalltalk.IRASTTranslator)})}
|
238
291
|
}),
|
239
292
|
smalltalk.IRASTTranslator);
|
240
293
|
|
@@ -245,12 +298,14 @@ selector: "visitDynamicArrayNode:",
|
|
245
298
|
fn: function (aNode){
|
246
299
|
var self=this;
|
247
300
|
var array;
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
301
|
+
return smalltalk.withContext(function($ctx1) {
|
302
|
+
array=_st((smalltalk.IRDynamicArray || IRDynamicArray))._new();
|
303
|
+
_st(_st(self)._aliasTemporally_(_st(aNode)._nodes()))._do_((function(each){
|
304
|
+
return smalltalk.withContext(function($ctx2) {
|
305
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
|
306
|
+
$1=array;
|
307
|
+
return $1;
|
308
|
+
}, function($ctx1) {$ctx1.fill(self,"visitDynamicArrayNode:",{aNode:aNode,array:array}, smalltalk.IRASTTranslator)})}
|
254
309
|
}),
|
255
310
|
smalltalk.IRASTTranslator);
|
256
311
|
|
@@ -261,12 +316,14 @@ selector: "visitDynamicDictionaryNode:",
|
|
261
316
|
fn: function (aNode){
|
262
317
|
var self=this;
|
263
318
|
var dictionary;
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
319
|
+
return smalltalk.withContext(function($ctx1) {
|
320
|
+
dictionary=_st((smalltalk.IRDynamicDictionary || IRDynamicDictionary))._new();
|
321
|
+
_st(_st(self)._aliasTemporally_(_st(aNode)._nodes()))._do_((function(each){
|
322
|
+
return smalltalk.withContext(function($ctx2) {
|
323
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
|
324
|
+
$1=dictionary;
|
325
|
+
return $1;
|
326
|
+
}, function($ctx1) {$ctx1.fill(self,"visitDynamicDictionaryNode:",{aNode:aNode,dictionary:dictionary}, smalltalk.IRASTTranslator)})}
|
270
327
|
}),
|
271
328
|
smalltalk.IRASTTranslator);
|
272
329
|
|
@@ -276,13 +333,13 @@ smalltalk.method({
|
|
276
333
|
selector: "visitJSStatementNode:",
|
277
334
|
fn: function (aNode){
|
278
335
|
var self=this;
|
279
|
-
|
280
|
-
$2=
|
281
|
-
|
282
|
-
$3=
|
336
|
+
return smalltalk.withContext(function($ctx1) {
|
337
|
+
$2=_st((smalltalk.IRVerbatim || IRVerbatim))._new();
|
338
|
+
_st($2)._source_(_st(aNode)._source());
|
339
|
+
$3=_st($2)._yourself();
|
283
340
|
$1=$3;
|
284
341
|
return $1;
|
285
|
-
}
|
342
|
+
}, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode}, smalltalk.IRASTTranslator)})}
|
286
343
|
}),
|
287
344
|
smalltalk.IRASTTranslator);
|
288
345
|
|
@@ -292,35 +349,38 @@ smalltalk.method({
|
|
292
349
|
selector: "visitMethodNode:",
|
293
350
|
fn: function (aNode){
|
294
351
|
var self=this;
|
295
|
-
|
296
|
-
$1=
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
return
|
313
|
-
})
|
314
|
-
|
352
|
+
return smalltalk.withContext(function($ctx1) {
|
353
|
+
$1=_st((smalltalk.IRMethod || IRMethod))._new();
|
354
|
+
_st($1)._source_(_st(self)._source());
|
355
|
+
_st($1)._theClass_(_st(self)._theClass());
|
356
|
+
_st($1)._arguments_(_st(aNode)._arguments());
|
357
|
+
_st($1)._selector_(_st(aNode)._selector());
|
358
|
+
_st($1)._messageSends_(_st(aNode)._messageSends());
|
359
|
+
_st($1)._superSends_(_st(aNode)._superSends());
|
360
|
+
_st($1)._classReferences_(_st(aNode)._classReferences());
|
361
|
+
_st($1)._scope_(_st(aNode)._scope());
|
362
|
+
$2=_st($1)._yourself();
|
363
|
+
_st(self)._method_($2);
|
364
|
+
_st(_st(_st(aNode)._scope())._temps())._do_((function(each){
|
365
|
+
return smalltalk.withContext(function($ctx2) {
|
366
|
+
_st($3)._name_(_st(each)._name());
|
367
|
+
_st($3)._scope_(_st(aNode)._scope());
|
368
|
+
$4=_st($3)._yourself();
|
369
|
+
return _st(_st(self)._method())._add_($4);
|
370
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
|
371
|
+
_st(_st(aNode)._nodes())._do_((function(each){
|
372
|
+
return smalltalk.withContext(function($ctx2) {
|
373
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
|
374
|
+
$5=_st(_st(aNode)._scope())._hasLocalReturn();
|
315
375
|
if(! smalltalk.assert($5)){
|
316
|
-
$6=
|
317
|
-
|
318
|
-
$7=
|
319
|
-
|
376
|
+
$6=_st((smalltalk.IRVariable || IRVariable))._new();
|
377
|
+
_st($6)._variable_(_st(_st(_st(aNode)._scope())._pseudoVars())._at_("self"));
|
378
|
+
$7=_st($6)._yourself();
|
379
|
+
_st(_st(_st(self)._method())._add_(_st((smalltalk.IRReturn || IRReturn))._new()))._add_($7);
|
320
380
|
};
|
321
|
-
$8=
|
381
|
+
$8=_st(self)._method();
|
322
382
|
return $8;
|
323
|
-
}
|
383
|
+
}, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode}, smalltalk.IRASTTranslator)})}
|
324
384
|
}),
|
325
385
|
smalltalk.IRASTTranslator);
|
326
386
|
|
@@ -330,20 +390,21 @@ smalltalk.method({
|
|
330
390
|
selector: "visitReturnNode:",
|
331
391
|
fn: function (aNode){
|
332
392
|
var self=this;
|
333
|
-
var $1;
|
334
393
|
var return_;
|
335
|
-
|
394
|
+
return smalltalk.withContext(function($ctx1) {
|
395
|
+
$1=_st(aNode)._nonLocalReturn();
|
336
396
|
if(smalltalk.assert($1)){
|
337
|
-
return_=
|
397
|
+
return_=_st((smalltalk.IRNonLocalReturn || IRNonLocalReturn))._new();
|
338
398
|
} else {
|
339
|
-
return_=
|
399
|
+
return_=_st((smalltalk.IRReturn || IRReturn))._new();
|
340
400
|
};
|
341
|
-
|
342
|
-
|
343
|
-
return smalltalk.
|
344
|
-
})
|
345
|
-
|
346
|
-
|
401
|
+
_st(return_)._scope_(_st(aNode)._scope());
|
402
|
+
_st(_st(aNode)._nodes())._do_((function(each){
|
403
|
+
return smalltalk.withContext(function($ctx2) {
|
404
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
|
405
|
+
$2=return_;
|
406
|
+
return $2;
|
407
|
+
}, function($ctx1) {$ctx1.fill(self,"visitReturnNode:",{aNode:aNode,return_:return_}, smalltalk.IRASTTranslator)})}
|
347
408
|
}),
|
348
409
|
smalltalk.IRASTTranslator);
|
349
410
|
|
@@ -353,39 +414,26 @@ smalltalk.method({
|
|
353
414
|
selector: "visitSendNode:",
|
354
415
|
fn: function (aNode){
|
355
416
|
var self=this;
|
356
|
-
var
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
$
|
363
|
-
$2=smalltalk.send(aNode,"_superSend",[]);
|
364
|
-
if(smalltalk.assert($2)){
|
365
|
-
smalltalk.send(send,"_classSend_",[smalltalk.send(smalltalk.send(self,"_theClass",[]),"_superclass",[])]);
|
366
|
-
};
|
367
|
-
$3=smalltalk.send(smalltalk.send(smalltalk.send(aNode,"_receiver",[]),"_shouldBeInlined",[]),"_or_",[(function(){
|
368
|
-
return smalltalk.send(smalltalk.send(aNode,"_receiver",[]),"_shouldBeAliased",[]);
|
369
|
-
})]);
|
417
|
+
var send,all,receiver,arguments;
|
418
|
+
return smalltalk.withContext(function($ctx1) {
|
419
|
+
send=_st((smalltalk.IRSend || IRSend))._new();
|
420
|
+
$1=send;
|
421
|
+
_st($1)._selector_(_st(aNode)._selector());
|
422
|
+
$2=_st($1)._index_(_st(aNode)._index());
|
423
|
+
$3=_st(aNode)._superSend();
|
370
424
|
if(smalltalk.assert($3)){
|
371
|
-
|
372
|
-
} else {
|
373
|
-
receiver=smalltalk.send(self,"_visit_",[smalltalk.send(aNode,"_receiver",[])]);
|
425
|
+
_st(send)._classSend_(_st(_st(self)._theClass())._superclass());
|
374
426
|
};
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
return smalltalk.
|
381
|
-
};
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
return smalltalk.send(send,"_add_",[each]);
|
386
|
-
})]);
|
387
|
-
return send;
|
388
|
-
}
|
427
|
+
all=_st(self)._aliasTemporally_(_st([_st(aNode)._receiver()]).__comma(_st(aNode)._arguments()));
|
428
|
+
receiver=_st(all)._first();
|
429
|
+
arguments=_st(all)._allButFirst();
|
430
|
+
_st(send)._add_(receiver);
|
431
|
+
_st(arguments)._do_((function(each){
|
432
|
+
return smalltalk.withContext(function($ctx2) {
|
433
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
|
434
|
+
$4=send;
|
435
|
+
return $4;
|
436
|
+
}, function($ctx1) {$ctx1.fill(self,"visitSendNode:",{aNode:aNode,send:send,all:all,receiver:receiver,arguments:arguments}, smalltalk.IRASTTranslator)})}
|
389
437
|
}),
|
390
438
|
smalltalk.IRASTTranslator);
|
391
439
|
|
@@ -395,20 +443,25 @@ smalltalk.method({
|
|
395
443
|
selector: "visitSequenceNode:",
|
396
444
|
fn: function (aNode){
|
397
445
|
var self=this;
|
398
|
-
|
399
|
-
$
|
400
|
-
|
446
|
+
return smalltalk.withContext(function($ctx1) {
|
447
|
+
$2=self;
|
448
|
+
$3=_st((smalltalk.IRSequence || IRSequence))._new();
|
449
|
+
$4=(function(){
|
450
|
+
return smalltalk.withContext(function($ctx2) {
|
451
|
+
$6=(function(each){
|
401
452
|
var instruction;
|
402
|
-
|
453
|
+
return smalltalk.withContext(function($ctx3) {
|
403
454
|
instruction;
|
404
|
-
$
|
405
|
-
if(! smalltalk.assert($
|
406
|
-
return
|
455
|
+
$7=_st(instruction)._isVariable();
|
456
|
+
if(! smalltalk.assert($7)){
|
457
|
+
return _st(_st(self)._sequence())._add_(instruction);
|
407
458
|
};
|
408
|
-
})
|
409
|
-
|
459
|
+
}, function($ctx3) {$ctx3.fillBlock({each:each,instruction:instruction},$ctx1)})});
|
460
|
+
return _st($5)._do_($6);
|
461
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
|
462
|
+
$1=_st($2)._withSequence_do_($3,$4);
|
410
463
|
return $1;
|
411
|
-
}
|
464
|
+
}, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode}, smalltalk.IRASTTranslator)})}
|
412
465
|
}),
|
413
466
|
smalltalk.IRASTTranslator);
|
414
467
|
|
@@ -418,13 +471,13 @@ smalltalk.method({
|
|
418
471
|
selector: "visitValueNode:",
|
419
472
|
fn: function (aNode){
|
420
473
|
var self=this;
|
421
|
-
|
422
|
-
$2=
|
423
|
-
|
424
|
-
$3=
|
474
|
+
return smalltalk.withContext(function($ctx1) {
|
475
|
+
$2=_st((smalltalk.IRValue || IRValue))._new();
|
476
|
+
_st($2)._value_(_st(aNode)._value());
|
477
|
+
$3=_st($2)._yourself();
|
425
478
|
$1=$3;
|
426
479
|
return $1;
|
427
|
-
}
|
480
|
+
}, function($ctx1) {$ctx1.fill(self,"visitValueNode:",{aNode:aNode}, smalltalk.IRASTTranslator)})}
|
428
481
|
}),
|
429
482
|
smalltalk.IRASTTranslator);
|
430
483
|
|
@@ -434,13 +487,13 @@ smalltalk.method({
|
|
434
487
|
selector: "visitVariableNode:",
|
435
488
|
fn: function (aNode){
|
436
489
|
var self=this;
|
437
|
-
|
438
|
-
$2=
|
439
|
-
|
440
|
-
$3=
|
490
|
+
return smalltalk.withContext(function($ctx1) {
|
491
|
+
$2=_st((smalltalk.IRVariable || IRVariable))._new();
|
492
|
+
_st($2)._variable_(_st(aNode)._binding());
|
493
|
+
$3=_st($2)._yourself();
|
441
494
|
$1=$3;
|
442
495
|
return $1;
|
443
|
-
}
|
496
|
+
}, function($ctx1) {$ctx1.fill(self,"visitVariableNode:",{aNode:aNode}, smalltalk.IRASTTranslator)})}
|
444
497
|
}),
|
445
498
|
smalltalk.IRASTTranslator);
|
446
499
|
|
@@ -451,12 +504,14 @@ selector: "withSequence:do:",
|
|
451
504
|
fn: function (aSequence,aBlock){
|
452
505
|
var self=this;
|
453
506
|
var outerSequence;
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
507
|
+
return smalltalk.withContext(function($ctx1) {
|
508
|
+
outerSequence=_st(self)._sequence();
|
509
|
+
_st(self)._sequence_(aSequence);
|
510
|
+
_st(aBlock)._value();
|
511
|
+
_st(self)._sequence_(outerSequence);
|
512
|
+
$1=aSequence;
|
513
|
+
return $1;
|
514
|
+
}, function($ctx1) {$ctx1.fill(self,"withSequence:do:",{aSequence:aSequence,aBlock:aBlock,outerSequence:outerSequence}, smalltalk.IRASTTranslator)})}
|
460
515
|
}),
|
461
516
|
smalltalk.IRASTTranslator);
|
462
517
|
|
@@ -469,10 +524,10 @@ smalltalk.method({
|
|
469
524
|
selector: "accept:",
|
470
525
|
fn: function (aVisitor){
|
471
526
|
var self=this;
|
472
|
-
|
473
|
-
$1=
|
527
|
+
return smalltalk.withContext(function($ctx1) {
|
528
|
+
$1=_st(aVisitor)._visitIRInstruction_(self);
|
474
529
|
return $1;
|
475
|
-
}
|
530
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInstruction)})}
|
476
531
|
}),
|
477
532
|
smalltalk.IRInstruction);
|
478
533
|
|
@@ -482,11 +537,11 @@ smalltalk.method({
|
|
482
537
|
selector: "add:",
|
483
538
|
fn: function (anObject){
|
484
539
|
var self=this;
|
485
|
-
|
486
|
-
|
487
|
-
$1=
|
540
|
+
return smalltalk.withContext(function($ctx1) {
|
541
|
+
_st(anObject)._parent_(self);
|
542
|
+
$1=_st(_st(self)._instructions())._add_(anObject);
|
488
543
|
return $1;
|
489
|
-
}
|
544
|
+
}, function($ctx1) {$ctx1.fill(self,"add:",{anObject:anObject}, smalltalk.IRInstruction)})}
|
490
545
|
}),
|
491
546
|
smalltalk.IRInstruction);
|
492
547
|
|
@@ -496,8 +551,8 @@ smalltalk.method({
|
|
496
551
|
selector: "canBeAssigned",
|
497
552
|
fn: function (){
|
498
553
|
var self=this;
|
499
|
-
return
|
500
|
-
}
|
554
|
+
return smalltalk.withContext(function($ctx1) {
|
555
|
+
}, function($ctx1) {$ctx1.fill(self,"canBeAssigned",{}, smalltalk.IRInstruction)})}
|
501
556
|
}),
|
502
557
|
smalltalk.IRInstruction);
|
503
558
|
|
@@ -507,15 +562,16 @@ smalltalk.method({
|
|
507
562
|
selector: "instructions",
|
508
563
|
fn: function (){
|
509
564
|
var self=this;
|
510
|
-
|
511
|
-
|
512
|
-
|
565
|
+
return smalltalk.withContext(function($ctx1) {
|
566
|
+
$2=self["@instructions"];
|
567
|
+
if(($receiver = $2) == nil || $receiver == undefined){
|
568
|
+
self["@instructions"]=_st((smalltalk.OrderedCollection || OrderedCollection))._new();
|
513
569
|
$1=self["@instructions"];
|
514
570
|
} else {
|
515
|
-
$1
|
571
|
+
$1=$2;
|
516
572
|
};
|
517
573
|
return $1;
|
518
|
-
}
|
574
|
+
}, function($ctx1) {$ctx1.fill(self,"instructions",{}, smalltalk.IRInstruction)})}
|
519
575
|
}),
|
520
576
|
smalltalk.IRInstruction);
|
521
577
|
|
@@ -525,8 +581,8 @@ smalltalk.method({
|
|
525
581
|
selector: "isClosure",
|
526
582
|
fn: function (){
|
527
583
|
var self=this;
|
528
|
-
return
|
529
|
-
}
|
584
|
+
return smalltalk.withContext(function($ctx1) {
|
585
|
+
}, function($ctx1) {$ctx1.fill(self,"isClosure",{}, smalltalk.IRInstruction)})}
|
530
586
|
}),
|
531
587
|
smalltalk.IRInstruction);
|
532
588
|
|
@@ -536,8 +592,8 @@ smalltalk.method({
|
|
536
592
|
selector: "isInlined",
|
537
593
|
fn: function (){
|
538
594
|
var self=this;
|
539
|
-
return
|
540
|
-
}
|
595
|
+
return smalltalk.withContext(function($ctx1) {
|
596
|
+
}, function($ctx1) {$ctx1.fill(self,"isInlined",{}, smalltalk.IRInstruction)})}
|
541
597
|
}),
|
542
598
|
smalltalk.IRInstruction);
|
543
599
|
|
@@ -547,8 +603,19 @@ smalltalk.method({
|
|
547
603
|
selector: "isLocalReturn",
|
548
604
|
fn: function (){
|
549
605
|
var self=this;
|
550
|
-
return
|
551
|
-
}
|
606
|
+
return smalltalk.withContext(function($ctx1) {
|
607
|
+
}, function($ctx1) {$ctx1.fill(self,"isLocalReturn",{}, smalltalk.IRInstruction)})}
|
608
|
+
}),
|
609
|
+
smalltalk.IRInstruction);
|
610
|
+
|
611
|
+
smalltalk.addMethod(
|
612
|
+
"_isMethod",
|
613
|
+
smalltalk.method({
|
614
|
+
selector: "isMethod",
|
615
|
+
fn: function (){
|
616
|
+
var self=this;
|
617
|
+
return smalltalk.withContext(function($ctx1) {
|
618
|
+
}, function($ctx1) {$ctx1.fill(self,"isMethod",{}, smalltalk.IRInstruction)})}
|
552
619
|
}),
|
553
620
|
smalltalk.IRInstruction);
|
554
621
|
|
@@ -558,8 +625,8 @@ smalltalk.method({
|
|
558
625
|
selector: "isReturn",
|
559
626
|
fn: function (){
|
560
627
|
var self=this;
|
561
|
-
return
|
562
|
-
}
|
628
|
+
return smalltalk.withContext(function($ctx1) {
|
629
|
+
}, function($ctx1) {$ctx1.fill(self,"isReturn",{}, smalltalk.IRInstruction)})}
|
563
630
|
}),
|
564
631
|
smalltalk.IRInstruction);
|
565
632
|
|
@@ -569,8 +636,8 @@ smalltalk.method({
|
|
569
636
|
selector: "isSend",
|
570
637
|
fn: function (){
|
571
638
|
var self=this;
|
572
|
-
return
|
573
|
-
}
|
639
|
+
return smalltalk.withContext(function($ctx1) {
|
640
|
+
}, function($ctx1) {$ctx1.fill(self,"isSend",{}, smalltalk.IRInstruction)})}
|
574
641
|
}),
|
575
642
|
smalltalk.IRInstruction);
|
576
643
|
|
@@ -580,8 +647,8 @@ smalltalk.method({
|
|
580
647
|
selector: "isSequence",
|
581
648
|
fn: function (){
|
582
649
|
var self=this;
|
583
|
-
return
|
584
|
-
}
|
650
|
+
return smalltalk.withContext(function($ctx1) {
|
651
|
+
}, function($ctx1) {$ctx1.fill(self,"isSequence",{}, smalltalk.IRInstruction)})}
|
585
652
|
}),
|
586
653
|
smalltalk.IRInstruction);
|
587
654
|
|
@@ -591,8 +658,8 @@ smalltalk.method({
|
|
591
658
|
selector: "isTempDeclaration",
|
592
659
|
fn: function (){
|
593
660
|
var self=this;
|
594
|
-
return
|
595
|
-
}
|
661
|
+
return smalltalk.withContext(function($ctx1) {
|
662
|
+
}, function($ctx1) {$ctx1.fill(self,"isTempDeclaration",{}, smalltalk.IRInstruction)})}
|
596
663
|
}),
|
597
664
|
smalltalk.IRInstruction);
|
598
665
|
|
@@ -602,8 +669,21 @@ smalltalk.method({
|
|
602
669
|
selector: "isVariable",
|
603
670
|
fn: function (){
|
604
671
|
var self=this;
|
605
|
-
return
|
606
|
-
}
|
672
|
+
return smalltalk.withContext(function($ctx1) {
|
673
|
+
}, function($ctx1) {$ctx1.fill(self,"isVariable",{}, smalltalk.IRInstruction)})}
|
674
|
+
}),
|
675
|
+
smalltalk.IRInstruction);
|
676
|
+
|
677
|
+
smalltalk.addMethod(
|
678
|
+
"_method",
|
679
|
+
smalltalk.method({
|
680
|
+
selector: "method",
|
681
|
+
fn: function (){
|
682
|
+
var self=this;
|
683
|
+
return smalltalk.withContext(function($ctx1) {
|
684
|
+
$1=_st(_st(self)._parent())._method();
|
685
|
+
return $1;
|
686
|
+
}, function($ctx1) {$ctx1.fill(self,"method",{}, smalltalk.IRInstruction)})}
|
607
687
|
}),
|
608
688
|
smalltalk.IRInstruction);
|
609
689
|
|
@@ -613,8 +693,10 @@ smalltalk.method({
|
|
613
693
|
selector: "parent",
|
614
694
|
fn: function (){
|
615
695
|
var self=this;
|
616
|
-
return
|
617
|
-
|
696
|
+
return smalltalk.withContext(function($ctx1) {
|
697
|
+
$1=self["@parent"];
|
698
|
+
return $1;
|
699
|
+
}, function($ctx1) {$ctx1.fill(self,"parent",{}, smalltalk.IRInstruction)})}
|
618
700
|
}),
|
619
701
|
smalltalk.IRInstruction);
|
620
702
|
|
@@ -624,8 +706,8 @@ smalltalk.method({
|
|
624
706
|
selector: "parent:",
|
625
707
|
fn: function (anIRInstruction){
|
626
708
|
var self=this;
|
627
|
-
|
628
|
-
return self}
|
709
|
+
return smalltalk.withContext(function($ctx1) {
|
710
|
+
return self}, function($ctx1) {$ctx1.fill(self,"parent:",{anIRInstruction:anIRInstruction}, smalltalk.IRInstruction)})}
|
629
711
|
}),
|
630
712
|
smalltalk.IRInstruction);
|
631
713
|
|
@@ -635,8 +717,8 @@ smalltalk.method({
|
|
635
717
|
selector: "remove",
|
636
718
|
fn: function (){
|
637
719
|
var self=this;
|
638
|
-
smalltalk.
|
639
|
-
return self}
|
720
|
+
return smalltalk.withContext(function($ctx1) {
|
721
|
+
return self}, function($ctx1) {$ctx1.fill(self,"remove",{}, smalltalk.IRInstruction)})}
|
640
722
|
}),
|
641
723
|
smalltalk.IRInstruction);
|
642
724
|
|
@@ -646,8 +728,8 @@ smalltalk.method({
|
|
646
728
|
selector: "remove:",
|
647
729
|
fn: function (anIRInstruction){
|
648
730
|
var self=this;
|
649
|
-
smalltalk.
|
650
|
-
return self}
|
731
|
+
return smalltalk.withContext(function($ctx1) {
|
732
|
+
return self}, function($ctx1) {$ctx1.fill(self,"remove:",{anIRInstruction:anIRInstruction}, smalltalk.IRInstruction)})}
|
651
733
|
}),
|
652
734
|
smalltalk.IRInstruction);
|
653
735
|
|
@@ -657,9 +739,9 @@ smalltalk.method({
|
|
657
739
|
selector: "replace:with:",
|
658
740
|
fn: function (anIRInstruction,anotherIRInstruction){
|
659
741
|
var self=this;
|
660
|
-
smalltalk.
|
661
|
-
|
662
|
-
return self}
|
742
|
+
return smalltalk.withContext(function($ctx1) {
|
743
|
+
_st(_st(self)._instructions())._at_put_(_st(_st(self)._instructions())._indexOf_(anIRInstruction),anotherIRInstruction);
|
744
|
+
return self}, function($ctx1) {$ctx1.fill(self,"replace:with:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction}, smalltalk.IRInstruction)})}
|
663
745
|
}),
|
664
746
|
smalltalk.IRInstruction);
|
665
747
|
|
@@ -669,8 +751,8 @@ smalltalk.method({
|
|
669
751
|
selector: "replaceWith:",
|
670
752
|
fn: function (anIRInstruction){
|
671
753
|
var self=this;
|
672
|
-
smalltalk.
|
673
|
-
return self}
|
754
|
+
return smalltalk.withContext(function($ctx1) {
|
755
|
+
return self}, function($ctx1) {$ctx1.fill(self,"replaceWith:",{anIRInstruction:anIRInstruction}, smalltalk.IRInstruction)})}
|
674
756
|
}),
|
675
757
|
smalltalk.IRInstruction);
|
676
758
|
|
@@ -681,13 +763,13 @@ smalltalk.method({
|
|
681
763
|
selector: "on:",
|
682
764
|
fn: function (aBuilder){
|
683
765
|
var self=this;
|
684
|
-
|
685
|
-
$2=
|
686
|
-
|
687
|
-
$3=
|
766
|
+
return smalltalk.withContext(function($ctx1) {
|
767
|
+
$2=_st(self)._new();
|
768
|
+
_st($2)._builder_(aBuilder);
|
769
|
+
$3=_st($2)._yourself();
|
688
770
|
$1=$3;
|
689
771
|
return $1;
|
690
|
-
}
|
772
|
+
}, function($ctx1) {$ctx1.fill(self,"on:",{aBuilder:aBuilder}, smalltalk.IRInstruction.klass)})}
|
691
773
|
}),
|
692
774
|
smalltalk.IRInstruction.klass);
|
693
775
|
|
@@ -699,10 +781,10 @@ smalltalk.method({
|
|
699
781
|
selector: "accept:",
|
700
782
|
fn: function (aVisitor){
|
701
783
|
var self=this;
|
702
|
-
|
703
|
-
$1=
|
784
|
+
return smalltalk.withContext(function($ctx1) {
|
785
|
+
$1=_st(aVisitor)._visitIRAssignment_(self);
|
704
786
|
return $1;
|
705
|
-
}
|
787
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRAssignment)})}
|
706
788
|
}),
|
707
789
|
smalltalk.IRAssignment);
|
708
790
|
|
@@ -715,10 +797,10 @@ smalltalk.method({
|
|
715
797
|
selector: "accept:",
|
716
798
|
fn: function (aVisitor){
|
717
799
|
var self=this;
|
718
|
-
|
719
|
-
$1=
|
800
|
+
return smalltalk.withContext(function($ctx1) {
|
801
|
+
$1=_st(aVisitor)._visitIRDynamicArray_(self);
|
720
802
|
return $1;
|
721
|
-
}
|
803
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRDynamicArray)})}
|
722
804
|
}),
|
723
805
|
smalltalk.IRDynamicArray);
|
724
806
|
|
@@ -731,10 +813,10 @@ smalltalk.method({
|
|
731
813
|
selector: "accept:",
|
732
814
|
fn: function (aVisitor){
|
733
815
|
var self=this;
|
734
|
-
|
735
|
-
$1=
|
816
|
+
return smalltalk.withContext(function($ctx1) {
|
817
|
+
$1=_st(aVisitor)._visitIRDynamicDictionary_(self);
|
736
818
|
return $1;
|
737
|
-
}
|
819
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRDynamicDictionary)})}
|
738
820
|
}),
|
739
821
|
smalltalk.IRDynamicDictionary);
|
740
822
|
|
@@ -747,8 +829,10 @@ smalltalk.method({
|
|
747
829
|
selector: "scope",
|
748
830
|
fn: function (){
|
749
831
|
var self=this;
|
750
|
-
return
|
751
|
-
|
832
|
+
return smalltalk.withContext(function($ctx1) {
|
833
|
+
$1=self["@scope"];
|
834
|
+
return $1;
|
835
|
+
}, function($ctx1) {$ctx1.fill(self,"scope",{}, smalltalk.IRScopedInstruction)})}
|
752
836
|
}),
|
753
837
|
smalltalk.IRScopedInstruction);
|
754
838
|
|
@@ -758,43 +842,31 @@ smalltalk.method({
|
|
758
842
|
selector: "scope:",
|
759
843
|
fn: function (aScope){
|
760
844
|
var self=this;
|
761
|
-
|
762
|
-
return self}
|
845
|
+
return smalltalk.withContext(function($ctx1) {
|
846
|
+
return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aScope:aScope}, smalltalk.IRScopedInstruction)})}
|
763
847
|
}),
|
764
848
|
smalltalk.IRScopedInstruction);
|
765
849
|
|
766
850
|
|
767
851
|
|
768
|
-
smalltalk.addClass('
|
769
|
-
smalltalk.addMethod(
|
770
|
-
"_accept_",
|
771
|
-
smalltalk.method({
|
772
|
-
selector: "accept:",
|
773
|
-
fn: function (aVisitor){
|
774
|
-
var self=this;
|
775
|
-
var $1;
|
776
|
-
$1=smalltalk.send(aVisitor,"_visitIRClosure_",[self]);
|
777
|
-
return $1;
|
778
|
-
}
|
779
|
-
}),
|
780
|
-
smalltalk.IRClosure);
|
781
|
-
|
852
|
+
smalltalk.addClass('IRClosureInstruction', smalltalk.IRScopedInstruction, ['arguments'], 'Compiler-IR');
|
782
853
|
smalltalk.addMethod(
|
783
854
|
"_arguments",
|
784
855
|
smalltalk.method({
|
785
856
|
selector: "arguments",
|
786
857
|
fn: function (){
|
787
858
|
var self=this;
|
788
|
-
|
789
|
-
|
859
|
+
return smalltalk.withContext(function($ctx1) {
|
860
|
+
$2=self["@arguments"];
|
861
|
+
if(($receiver = $2) == nil || $receiver == undefined){
|
790
862
|
$1=[];
|
791
863
|
} else {
|
792
|
-
$1
|
864
|
+
$1=$2;
|
793
865
|
};
|
794
866
|
return $1;
|
795
|
-
}
|
867
|
+
}, function($ctx1) {$ctx1.fill(self,"arguments",{}, smalltalk.IRClosureInstruction)})}
|
796
868
|
}),
|
797
|
-
smalltalk.
|
869
|
+
smalltalk.IRClosureInstruction);
|
798
870
|
|
799
871
|
smalltalk.addMethod(
|
800
872
|
"_arguments_",
|
@@ -802,21 +874,28 @@ smalltalk.method({
|
|
802
874
|
selector: "arguments:",
|
803
875
|
fn: function (aCollection){
|
804
876
|
var self=this;
|
805
|
-
|
806
|
-
return self}
|
877
|
+
return smalltalk.withContext(function($ctx1) {
|
878
|
+
return self}, function($ctx1) {$ctx1.fill(self,"arguments:",{aCollection:aCollection}, smalltalk.IRClosureInstruction)})}
|
807
879
|
}),
|
808
|
-
smalltalk.
|
880
|
+
smalltalk.IRClosureInstruction);
|
809
881
|
|
810
882
|
smalltalk.addMethod(
|
811
|
-
"
|
883
|
+
"_locals",
|
812
884
|
smalltalk.method({
|
813
|
-
selector: "
|
885
|
+
selector: "locals",
|
814
886
|
fn: function (){
|
815
887
|
var self=this;
|
816
|
-
return
|
817
|
-
|
888
|
+
return smalltalk.withContext(function($ctx1) {
|
889
|
+
$2=_st(_st(self)._arguments())._copy();
|
890
|
+
_st($2)._addAll_(_st(_st(self)._tempDeclarations())._collect_((function(each){
|
891
|
+
return smalltalk.withContext(function($ctx2) {
|
892
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})));
|
893
|
+
$3=_st($2)._yourself();
|
894
|
+
$1=$3;
|
895
|
+
return $1;
|
896
|
+
}, function($ctx1) {$ctx1.fill(self,"locals",{}, smalltalk.IRClosureInstruction)})}
|
818
897
|
}),
|
819
|
-
smalltalk.
|
898
|
+
smalltalk.IRClosureInstruction);
|
820
899
|
|
821
900
|
smalltalk.addMethod(
|
822
901
|
"_scope_",
|
@@ -824,60 +903,80 @@ smalltalk.method({
|
|
824
903
|
selector: "scope:",
|
825
904
|
fn: function (aScope){
|
826
905
|
var self=this;
|
827
|
-
smalltalk.
|
828
|
-
|
829
|
-
return self}
|
906
|
+
return smalltalk.withContext(function($ctx1) {
|
907
|
+
_st(aScope)._instruction_(self);
|
908
|
+
return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aScope:aScope}, smalltalk.IRClosureInstruction)})}
|
830
909
|
}),
|
831
|
-
smalltalk.
|
910
|
+
smalltalk.IRClosureInstruction);
|
832
911
|
|
833
912
|
smalltalk.addMethod(
|
834
|
-
"
|
913
|
+
"_tempDeclarations",
|
835
914
|
smalltalk.method({
|
836
|
-
selector: "
|
915
|
+
selector: "tempDeclarations",
|
837
916
|
fn: function (){
|
838
917
|
var self=this;
|
839
|
-
|
840
|
-
$1=
|
918
|
+
return smalltalk.withContext(function($ctx1) {
|
919
|
+
$1=_st(_st(self)._instructions())._select_((function(each){
|
920
|
+
return smalltalk.withContext(function($ctx2) {
|
921
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
|
841
922
|
return $1;
|
842
|
-
}
|
923
|
+
}, function($ctx1) {$ctx1.fill(self,"tempDeclarations",{}, smalltalk.IRClosureInstruction)})}
|
843
924
|
}),
|
844
|
-
smalltalk.
|
925
|
+
smalltalk.IRClosureInstruction);
|
845
926
|
|
846
927
|
|
847
928
|
|
848
|
-
smalltalk.addClass('
|
929
|
+
smalltalk.addClass('IRClosure', smalltalk.IRClosureInstruction, [], 'Compiler-IR');
|
849
930
|
smalltalk.addMethod(
|
850
931
|
"_accept_",
|
851
932
|
smalltalk.method({
|
852
933
|
selector: "accept:",
|
853
934
|
fn: function (aVisitor){
|
854
935
|
var self=this;
|
855
|
-
|
856
|
-
$1=
|
936
|
+
return smalltalk.withContext(function($ctx1) {
|
937
|
+
$1=_st(aVisitor)._visitIRClosure_(self);
|
857
938
|
return $1;
|
858
|
-
}
|
939
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRClosure)})}
|
859
940
|
}),
|
860
|
-
smalltalk.
|
941
|
+
smalltalk.IRClosure);
|
861
942
|
|
862
943
|
smalltalk.addMethod(
|
863
|
-
"
|
944
|
+
"_isClosure",
|
864
945
|
smalltalk.method({
|
865
|
-
selector: "
|
946
|
+
selector: "isClosure",
|
866
947
|
fn: function (){
|
867
948
|
var self=this;
|
868
|
-
return
|
869
|
-
}
|
949
|
+
return smalltalk.withContext(function($ctx1) {
|
950
|
+
}, function($ctx1) {$ctx1.fill(self,"isClosure",{}, smalltalk.IRClosure)})}
|
870
951
|
}),
|
871
|
-
smalltalk.
|
952
|
+
smalltalk.IRClosure);
|
872
953
|
|
873
954
|
smalltalk.addMethod(
|
874
|
-
"
|
955
|
+
"_sequence",
|
875
956
|
smalltalk.method({
|
876
|
-
selector: "
|
877
|
-
fn: function (
|
957
|
+
selector: "sequence",
|
958
|
+
fn: function (){
|
878
959
|
var self=this;
|
879
|
-
|
880
|
-
|
960
|
+
return smalltalk.withContext(function($ctx1) {
|
961
|
+
$1=_st(_st(self)._instructions())._last();
|
962
|
+
return $1;
|
963
|
+
}, function($ctx1) {$ctx1.fill(self,"sequence",{}, smalltalk.IRClosure)})}
|
964
|
+
}),
|
965
|
+
smalltalk.IRClosure);
|
966
|
+
|
967
|
+
|
968
|
+
|
969
|
+
smalltalk.addClass('IRMethod', smalltalk.IRClosureInstruction, ['theClass', 'source', 'selector', 'classReferences', 'messageSends', 'superSends', 'internalVariables'], 'Compiler-IR');
|
970
|
+
smalltalk.addMethod(
|
971
|
+
"_accept_",
|
972
|
+
smalltalk.method({
|
973
|
+
selector: "accept:",
|
974
|
+
fn: function (aVisitor){
|
975
|
+
var self=this;
|
976
|
+
return smalltalk.withContext(function($ctx1) {
|
977
|
+
$1=_st(aVisitor)._visitIRMethod_(self);
|
978
|
+
return $1;
|
979
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRMethod)})}
|
881
980
|
}),
|
882
981
|
smalltalk.IRMethod);
|
883
982
|
|
@@ -887,8 +986,10 @@ smalltalk.method({
|
|
887
986
|
selector: "classReferences",
|
888
987
|
fn: function (){
|
889
988
|
var self=this;
|
890
|
-
return
|
891
|
-
|
989
|
+
return smalltalk.withContext(function($ctx1) {
|
990
|
+
$1=self["@classReferences"];
|
991
|
+
return $1;
|
992
|
+
}, function($ctx1) {$ctx1.fill(self,"classReferences",{}, smalltalk.IRMethod)})}
|
892
993
|
}),
|
893
994
|
smalltalk.IRMethod);
|
894
995
|
|
@@ -898,8 +999,8 @@ smalltalk.method({
|
|
898
999
|
selector: "classReferences:",
|
899
1000
|
fn: function (aCollection){
|
900
1001
|
var self=this;
|
901
|
-
|
902
|
-
return self}
|
1002
|
+
return smalltalk.withContext(function($ctx1) {
|
1003
|
+
return self}, function($ctx1) {$ctx1.fill(self,"classReferences:",{aCollection:aCollection}, smalltalk.IRMethod)})}
|
903
1004
|
}),
|
904
1005
|
smalltalk.IRMethod);
|
905
1006
|
|
@@ -909,15 +1010,27 @@ smalltalk.method({
|
|
909
1010
|
selector: "internalVariables",
|
910
1011
|
fn: function (){
|
911
1012
|
var self=this;
|
912
|
-
|
913
|
-
|
914
|
-
|
1013
|
+
return smalltalk.withContext(function($ctx1) {
|
1014
|
+
$2=self["@internalVariables"];
|
1015
|
+
if(($receiver = $2) == nil || $receiver == undefined){
|
1016
|
+
self["@internalVariables"]=_st((smalltalk.Set || Set))._new();
|
915
1017
|
$1=self["@internalVariables"];
|
916
1018
|
} else {
|
917
|
-
$1
|
1019
|
+
$1=$2;
|
918
1020
|
};
|
919
1021
|
return $1;
|
920
|
-
}
|
1022
|
+
}, function($ctx1) {$ctx1.fill(self,"internalVariables",{}, smalltalk.IRMethod)})}
|
1023
|
+
}),
|
1024
|
+
smalltalk.IRMethod);
|
1025
|
+
|
1026
|
+
smalltalk.addMethod(
|
1027
|
+
"_isMethod",
|
1028
|
+
smalltalk.method({
|
1029
|
+
selector: "isMethod",
|
1030
|
+
fn: function (){
|
1031
|
+
var self=this;
|
1032
|
+
return smalltalk.withContext(function($ctx1) {
|
1033
|
+
}, function($ctx1) {$ctx1.fill(self,"isMethod",{}, smalltalk.IRMethod)})}
|
921
1034
|
}),
|
922
1035
|
smalltalk.IRMethod);
|
923
1036
|
|
@@ -927,8 +1040,10 @@ smalltalk.method({
|
|
927
1040
|
selector: "messageSends",
|
928
1041
|
fn: function (){
|
929
1042
|
var self=this;
|
930
|
-
return
|
931
|
-
|
1043
|
+
return smalltalk.withContext(function($ctx1) {
|
1044
|
+
$1=self["@messageSends"];
|
1045
|
+
return $1;
|
1046
|
+
}, function($ctx1) {$ctx1.fill(self,"messageSends",{}, smalltalk.IRMethod)})}
|
932
1047
|
}),
|
933
1048
|
smalltalk.IRMethod);
|
934
1049
|
|
@@ -938,20 +1053,21 @@ smalltalk.method({
|
|
938
1053
|
selector: "messageSends:",
|
939
1054
|
fn: function (aCollection){
|
940
1055
|
var self=this;
|
941
|
-
|
942
|
-
return self}
|
1056
|
+
return smalltalk.withContext(function($ctx1) {
|
1057
|
+
return self}, function($ctx1) {$ctx1.fill(self,"messageSends:",{aCollection:aCollection}, smalltalk.IRMethod)})}
|
943
1058
|
}),
|
944
1059
|
smalltalk.IRMethod);
|
945
1060
|
|
946
1061
|
smalltalk.addMethod(
|
947
|
-
"
|
1062
|
+
"_method",
|
948
1063
|
smalltalk.method({
|
949
|
-
selector: "
|
950
|
-
fn: function (
|
1064
|
+
selector: "method",
|
1065
|
+
fn: function (){
|
951
1066
|
var self=this;
|
952
|
-
smalltalk.
|
953
|
-
|
954
|
-
return
|
1067
|
+
return smalltalk.withContext(function($ctx1) {
|
1068
|
+
$1=self;
|
1069
|
+
return $1;
|
1070
|
+
}, function($ctx1) {$ctx1.fill(self,"method",{}, smalltalk.IRMethod)})}
|
955
1071
|
}),
|
956
1072
|
smalltalk.IRMethod);
|
957
1073
|
|
@@ -961,8 +1077,10 @@ smalltalk.method({
|
|
961
1077
|
selector: "selector",
|
962
1078
|
fn: function (){
|
963
1079
|
var self=this;
|
964
|
-
return
|
965
|
-
|
1080
|
+
return smalltalk.withContext(function($ctx1) {
|
1081
|
+
$1=self["@selector"];
|
1082
|
+
return $1;
|
1083
|
+
}, function($ctx1) {$ctx1.fill(self,"selector",{}, smalltalk.IRMethod)})}
|
966
1084
|
}),
|
967
1085
|
smalltalk.IRMethod);
|
968
1086
|
|
@@ -972,8 +1090,8 @@ smalltalk.method({
|
|
972
1090
|
selector: "selector:",
|
973
1091
|
fn: function (aString){
|
974
1092
|
var self=this;
|
975
|
-
|
976
|
-
return self}
|
1093
|
+
return smalltalk.withContext(function($ctx1) {
|
1094
|
+
return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString}, smalltalk.IRMethod)})}
|
977
1095
|
}),
|
978
1096
|
smalltalk.IRMethod);
|
979
1097
|
|
@@ -983,8 +1101,10 @@ smalltalk.method({
|
|
983
1101
|
selector: "source",
|
984
1102
|
fn: function (){
|
985
1103
|
var self=this;
|
986
|
-
return
|
987
|
-
|
1104
|
+
return smalltalk.withContext(function($ctx1) {
|
1105
|
+
$1=self["@source"];
|
1106
|
+
return $1;
|
1107
|
+
}, function($ctx1) {$ctx1.fill(self,"source",{}, smalltalk.IRMethod)})}
|
988
1108
|
}),
|
989
1109
|
smalltalk.IRMethod);
|
990
1110
|
|
@@ -994,8 +1114,56 @@ smalltalk.method({
|
|
994
1114
|
selector: "source:",
|
995
1115
|
fn: function (aString){
|
996
1116
|
var self=this;
|
997
|
-
|
998
|
-
return self}
|
1117
|
+
return smalltalk.withContext(function($ctx1) {
|
1118
|
+
return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString}, smalltalk.IRMethod)})}
|
1119
|
+
}),
|
1120
|
+
smalltalk.IRMethod);
|
1121
|
+
|
1122
|
+
smalltalk.addMethod(
|
1123
|
+
"_superSends",
|
1124
|
+
smalltalk.method({
|
1125
|
+
selector: "superSends",
|
1126
|
+
fn: function (){
|
1127
|
+
var self=this;
|
1128
|
+
return smalltalk.withContext(function($ctx1) {
|
1129
|
+
$1=self["@superSends"];
|
1130
|
+
return $1;
|
1131
|
+
}, function($ctx1) {$ctx1.fill(self,"superSends",{}, smalltalk.IRMethod)})}
|
1132
|
+
}),
|
1133
|
+
smalltalk.IRMethod);
|
1134
|
+
|
1135
|
+
smalltalk.addMethod(
|
1136
|
+
"_superSends_",
|
1137
|
+
smalltalk.method({
|
1138
|
+
selector: "superSends:",
|
1139
|
+
fn: function (aCollection){
|
1140
|
+
var self=this;
|
1141
|
+
return smalltalk.withContext(function($ctx1) {
|
1142
|
+
return self}, function($ctx1) {$ctx1.fill(self,"superSends:",{aCollection:aCollection}, smalltalk.IRMethod)})}
|
1143
|
+
}),
|
1144
|
+
smalltalk.IRMethod);
|
1145
|
+
|
1146
|
+
smalltalk.addMethod(
|
1147
|
+
"_theClass",
|
1148
|
+
smalltalk.method({
|
1149
|
+
selector: "theClass",
|
1150
|
+
fn: function (){
|
1151
|
+
var self=this;
|
1152
|
+
return smalltalk.withContext(function($ctx1) {
|
1153
|
+
$1=self["@theClass"];
|
1154
|
+
return $1;
|
1155
|
+
}, function($ctx1) {$ctx1.fill(self,"theClass",{}, smalltalk.IRMethod)})}
|
1156
|
+
}),
|
1157
|
+
smalltalk.IRMethod);
|
1158
|
+
|
1159
|
+
smalltalk.addMethod(
|
1160
|
+
"_theClass_",
|
1161
|
+
smalltalk.method({
|
1162
|
+
selector: "theClass:",
|
1163
|
+
fn: function (aClass){
|
1164
|
+
var self=this;
|
1165
|
+
return smalltalk.withContext(function($ctx1) {
|
1166
|
+
return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass}, smalltalk.IRMethod)})}
|
999
1167
|
}),
|
1000
1168
|
smalltalk.IRMethod);
|
1001
1169
|
|
@@ -1008,10 +1176,10 @@ smalltalk.method({
|
|
1008
1176
|
selector: "accept:",
|
1009
1177
|
fn: function (aVisitor){
|
1010
1178
|
var self=this;
|
1011
|
-
|
1012
|
-
$1=
|
1179
|
+
return smalltalk.withContext(function($ctx1) {
|
1180
|
+
$1=_st(aVisitor)._visitIRReturn_(self);
|
1013
1181
|
return $1;
|
1014
|
-
}
|
1182
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRReturn)})}
|
1015
1183
|
}),
|
1016
1184
|
smalltalk.IRReturn);
|
1017
1185
|
|
@@ -1021,8 +1189,8 @@ smalltalk.method({
|
|
1021
1189
|
selector: "canBeAssigned",
|
1022
1190
|
fn: function (){
|
1023
1191
|
var self=this;
|
1024
|
-
return
|
1025
|
-
}
|
1192
|
+
return smalltalk.withContext(function($ctx1) {
|
1193
|
+
}, function($ctx1) {$ctx1.fill(self,"canBeAssigned",{}, smalltalk.IRReturn)})}
|
1026
1194
|
}),
|
1027
1195
|
smalltalk.IRReturn);
|
1028
1196
|
|
@@ -1032,8 +1200,8 @@ smalltalk.method({
|
|
1032
1200
|
selector: "isBlockReturn",
|
1033
1201
|
fn: function (){
|
1034
1202
|
var self=this;
|
1035
|
-
return
|
1036
|
-
}
|
1203
|
+
return smalltalk.withContext(function($ctx1) {
|
1204
|
+
}, function($ctx1) {$ctx1.fill(self,"isBlockReturn",{}, smalltalk.IRReturn)})}
|
1037
1205
|
}),
|
1038
1206
|
smalltalk.IRReturn);
|
1039
1207
|
|
@@ -1043,8 +1211,8 @@ smalltalk.method({
|
|
1043
1211
|
selector: "isLocalReturn",
|
1044
1212
|
fn: function (){
|
1045
1213
|
var self=this;
|
1046
|
-
return
|
1047
|
-
}
|
1214
|
+
return smalltalk.withContext(function($ctx1) {
|
1215
|
+
}, function($ctx1) {$ctx1.fill(self,"isLocalReturn",{}, smalltalk.IRReturn)})}
|
1048
1216
|
}),
|
1049
1217
|
smalltalk.IRReturn);
|
1050
1218
|
|
@@ -1054,10 +1222,10 @@ smalltalk.method({
|
|
1054
1222
|
selector: "isNonLocalReturn",
|
1055
1223
|
fn: function (){
|
1056
1224
|
var self=this;
|
1057
|
-
|
1058
|
-
$1=
|
1225
|
+
return smalltalk.withContext(function($ctx1) {
|
1226
|
+
$1=_st(_st(self)._isLocalReturn())._not();
|
1059
1227
|
return $1;
|
1060
|
-
}
|
1228
|
+
}, function($ctx1) {$ctx1.fill(self,"isNonLocalReturn",{}, smalltalk.IRReturn)})}
|
1061
1229
|
}),
|
1062
1230
|
smalltalk.IRReturn);
|
1063
1231
|
|
@@ -1067,8 +1235,8 @@ smalltalk.method({
|
|
1067
1235
|
selector: "isReturn",
|
1068
1236
|
fn: function (){
|
1069
1237
|
var self=this;
|
1070
|
-
return
|
1071
|
-
}
|
1238
|
+
return smalltalk.withContext(function($ctx1) {
|
1239
|
+
}, function($ctx1) {$ctx1.fill(self,"isReturn",{}, smalltalk.IRReturn)})}
|
1072
1240
|
}),
|
1073
1241
|
smalltalk.IRReturn);
|
1074
1242
|
|
@@ -1081,10 +1249,10 @@ smalltalk.method({
|
|
1081
1249
|
selector: "accept:",
|
1082
1250
|
fn: function (aVisitor){
|
1083
1251
|
var self=this;
|
1084
|
-
|
1085
|
-
$1=
|
1252
|
+
return smalltalk.withContext(function($ctx1) {
|
1253
|
+
$1=_st(aVisitor)._visitIRBlockReturn_(self);
|
1086
1254
|
return $1;
|
1087
|
-
}
|
1255
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRBlockReturn)})}
|
1088
1256
|
}),
|
1089
1257
|
smalltalk.IRBlockReturn);
|
1090
1258
|
|
@@ -1094,8 +1262,8 @@ smalltalk.method({
|
|
1094
1262
|
selector: "isBlockReturn",
|
1095
1263
|
fn: function (){
|
1096
1264
|
var self=this;
|
1097
|
-
return
|
1098
|
-
}
|
1265
|
+
return smalltalk.withContext(function($ctx1) {
|
1266
|
+
}, function($ctx1) {$ctx1.fill(self,"isBlockReturn",{}, smalltalk.IRBlockReturn)})}
|
1099
1267
|
}),
|
1100
1268
|
smalltalk.IRBlockReturn);
|
1101
1269
|
|
@@ -1108,10 +1276,10 @@ smalltalk.method({
|
|
1108
1276
|
selector: "accept:",
|
1109
1277
|
fn: function (aVisitor){
|
1110
1278
|
var self=this;
|
1111
|
-
|
1112
|
-
$1=
|
1279
|
+
return smalltalk.withContext(function($ctx1) {
|
1280
|
+
$1=_st(aVisitor)._visitIRNonLocalReturn_(self);
|
1113
1281
|
return $1;
|
1114
|
-
}
|
1282
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRNonLocalReturn)})}
|
1115
1283
|
}),
|
1116
1284
|
smalltalk.IRNonLocalReturn);
|
1117
1285
|
|
@@ -1121,13 +1289,64 @@ smalltalk.method({
|
|
1121
1289
|
selector: "isLocalReturn",
|
1122
1290
|
fn: function (){
|
1123
1291
|
var self=this;
|
1124
|
-
return
|
1125
|
-
}
|
1292
|
+
return smalltalk.withContext(function($ctx1) {
|
1293
|
+
}, function($ctx1) {$ctx1.fill(self,"isLocalReturn",{}, smalltalk.IRNonLocalReturn)})}
|
1126
1294
|
}),
|
1127
1295
|
smalltalk.IRNonLocalReturn);
|
1128
1296
|
|
1129
1297
|
|
1130
1298
|
|
1299
|
+
smalltalk.addClass('IRTempDeclaration', smalltalk.IRScopedInstruction, ['name'], 'Compiler-IR');
|
1300
|
+
smalltalk.addMethod(
|
1301
|
+
"_accept_",
|
1302
|
+
smalltalk.method({
|
1303
|
+
selector: "accept:",
|
1304
|
+
fn: function (aVisitor){
|
1305
|
+
var self=this;
|
1306
|
+
return smalltalk.withContext(function($ctx1) {
|
1307
|
+
$1=_st(aVisitor)._visitIRTempDeclaration_(self);
|
1308
|
+
return $1;
|
1309
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRTempDeclaration)})}
|
1310
|
+
}),
|
1311
|
+
smalltalk.IRTempDeclaration);
|
1312
|
+
|
1313
|
+
smalltalk.addMethod(
|
1314
|
+
"_isTempDeclaration",
|
1315
|
+
smalltalk.method({
|
1316
|
+
selector: "isTempDeclaration",
|
1317
|
+
fn: function (){
|
1318
|
+
var self=this;
|
1319
|
+
return smalltalk.withContext(function($ctx1) {
|
1320
|
+
}, function($ctx1) {$ctx1.fill(self,"isTempDeclaration",{}, smalltalk.IRTempDeclaration)})}
|
1321
|
+
}),
|
1322
|
+
smalltalk.IRTempDeclaration);
|
1323
|
+
|
1324
|
+
smalltalk.addMethod(
|
1325
|
+
"_name",
|
1326
|
+
smalltalk.method({
|
1327
|
+
selector: "name",
|
1328
|
+
fn: function (){
|
1329
|
+
var self=this;
|
1330
|
+
return smalltalk.withContext(function($ctx1) {
|
1331
|
+
$1=self["@name"];
|
1332
|
+
return $1;
|
1333
|
+
}, function($ctx1) {$ctx1.fill(self,"name",{}, smalltalk.IRTempDeclaration)})}
|
1334
|
+
}),
|
1335
|
+
smalltalk.IRTempDeclaration);
|
1336
|
+
|
1337
|
+
smalltalk.addMethod(
|
1338
|
+
"_name_",
|
1339
|
+
smalltalk.method({
|
1340
|
+
selector: "name:",
|
1341
|
+
fn: function (aString){
|
1342
|
+
var self=this;
|
1343
|
+
return smalltalk.withContext(function($ctx1) {
|
1344
|
+
return self}, function($ctx1) {$ctx1.fill(self,"name:",{aString:aString}, smalltalk.IRTempDeclaration)})}
|
1345
|
+
}),
|
1346
|
+
smalltalk.IRTempDeclaration);
|
1347
|
+
|
1348
|
+
|
1349
|
+
|
1131
1350
|
smalltalk.addClass('IRSend', smalltalk.IRInstruction, ['selector', 'classSend', 'index'], 'Compiler-IR');
|
1132
1351
|
smalltalk.addMethod(
|
1133
1352
|
"_accept_",
|
@@ -1135,10 +1354,10 @@ smalltalk.method({
|
|
1135
1354
|
selector: "accept:",
|
1136
1355
|
fn: function (aVisitor){
|
1137
1356
|
var self=this;
|
1138
|
-
|
1139
|
-
$1=
|
1357
|
+
return smalltalk.withContext(function($ctx1) {
|
1358
|
+
$1=_st(aVisitor)._visitIRSend_(self);
|
1140
1359
|
return $1;
|
1141
|
-
}
|
1360
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRSend)})}
|
1142
1361
|
}),
|
1143
1362
|
smalltalk.IRSend);
|
1144
1363
|
|
@@ -1148,8 +1367,10 @@ smalltalk.method({
|
|
1148
1367
|
selector: "classSend",
|
1149
1368
|
fn: function (){
|
1150
1369
|
var self=this;
|
1151
|
-
return
|
1152
|
-
|
1370
|
+
return smalltalk.withContext(function($ctx1) {
|
1371
|
+
$1=self["@classSend"];
|
1372
|
+
return $1;
|
1373
|
+
}, function($ctx1) {$ctx1.fill(self,"classSend",{}, smalltalk.IRSend)})}
|
1153
1374
|
}),
|
1154
1375
|
smalltalk.IRSend);
|
1155
1376
|
|
@@ -1159,8 +1380,8 @@ smalltalk.method({
|
|
1159
1380
|
selector: "classSend:",
|
1160
1381
|
fn: function (aClass){
|
1161
1382
|
var self=this;
|
1162
|
-
|
1163
|
-
return self}
|
1383
|
+
return smalltalk.withContext(function($ctx1) {
|
1384
|
+
return self}, function($ctx1) {$ctx1.fill(self,"classSend:",{aClass:aClass}, smalltalk.IRSend)})}
|
1164
1385
|
}),
|
1165
1386
|
smalltalk.IRSend);
|
1166
1387
|
|
@@ -1170,8 +1391,10 @@ smalltalk.method({
|
|
1170
1391
|
selector: "index",
|
1171
1392
|
fn: function (){
|
1172
1393
|
var self=this;
|
1173
|
-
return
|
1174
|
-
|
1394
|
+
return smalltalk.withContext(function($ctx1) {
|
1395
|
+
$1=self["@index"];
|
1396
|
+
return $1;
|
1397
|
+
}, function($ctx1) {$ctx1.fill(self,"index",{}, smalltalk.IRSend)})}
|
1175
1398
|
}),
|
1176
1399
|
smalltalk.IRSend);
|
1177
1400
|
|
@@ -1181,8 +1404,8 @@ smalltalk.method({
|
|
1181
1404
|
selector: "index:",
|
1182
1405
|
fn: function (anInteger){
|
1183
1406
|
var self=this;
|
1184
|
-
|
1185
|
-
return self}
|
1407
|
+
return smalltalk.withContext(function($ctx1) {
|
1408
|
+
return self}, function($ctx1) {$ctx1.fill(self,"index:",{anInteger:anInteger}, smalltalk.IRSend)})}
|
1186
1409
|
}),
|
1187
1410
|
smalltalk.IRSend);
|
1188
1411
|
|
@@ -1192,8 +1415,26 @@ smalltalk.method({
|
|
1192
1415
|
selector: "isSend",
|
1193
1416
|
fn: function (){
|
1194
1417
|
var self=this;
|
1195
|
-
return
|
1196
|
-
}
|
1418
|
+
return smalltalk.withContext(function($ctx1) {
|
1419
|
+
}, function($ctx1) {$ctx1.fill(self,"isSend",{}, smalltalk.IRSend)})}
|
1420
|
+
}),
|
1421
|
+
smalltalk.IRSend);
|
1422
|
+
|
1423
|
+
smalltalk.addMethod(
|
1424
|
+
"_javascriptSelector",
|
1425
|
+
smalltalk.method({
|
1426
|
+
selector: "javascriptSelector",
|
1427
|
+
fn: function (){
|
1428
|
+
var self=this;
|
1429
|
+
return smalltalk.withContext(function($ctx1) {
|
1430
|
+
$2=_st(self)._classSend();
|
1431
|
+
if(($receiver = $2) == nil || $receiver == undefined){
|
1432
|
+
$1=_st(_st(self)._selector())._asSelector();
|
1433
|
+
} else {
|
1434
|
+
$1=_st(_st(self)._selector())._asSuperSelector();
|
1435
|
+
};
|
1436
|
+
return $1;
|
1437
|
+
}, function($ctx1) {$ctx1.fill(self,"javascriptSelector",{}, smalltalk.IRSend)})}
|
1197
1438
|
}),
|
1198
1439
|
smalltalk.IRSend);
|
1199
1440
|
|
@@ -1203,8 +1444,10 @@ smalltalk.method({
|
|
1203
1444
|
selector: "selector",
|
1204
1445
|
fn: function (){
|
1205
1446
|
var self=this;
|
1206
|
-
return
|
1207
|
-
|
1447
|
+
return smalltalk.withContext(function($ctx1) {
|
1448
|
+
$1=self["@selector"];
|
1449
|
+
return $1;
|
1450
|
+
}, function($ctx1) {$ctx1.fill(self,"selector",{}, smalltalk.IRSend)})}
|
1208
1451
|
}),
|
1209
1452
|
smalltalk.IRSend);
|
1210
1453
|
|
@@ -1214,8 +1457,8 @@ smalltalk.method({
|
|
1214
1457
|
selector: "selector:",
|
1215
1458
|
fn: function (aString){
|
1216
1459
|
var self=this;
|
1217
|
-
|
1218
|
-
return self}
|
1460
|
+
return smalltalk.withContext(function($ctx1) {
|
1461
|
+
return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString}, smalltalk.IRSend)})}
|
1219
1462
|
}),
|
1220
1463
|
smalltalk.IRSend);
|
1221
1464
|
|
@@ -1228,10 +1471,10 @@ smalltalk.method({
|
|
1228
1471
|
selector: "accept:",
|
1229
1472
|
fn: function (aVisitor){
|
1230
1473
|
var self=this;
|
1231
|
-
|
1232
|
-
$1=
|
1474
|
+
return smalltalk.withContext(function($ctx1) {
|
1475
|
+
$1=_st(aVisitor)._visitIRSequence_(self);
|
1233
1476
|
return $1;
|
1234
|
-
}
|
1477
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRSequence)})}
|
1235
1478
|
}),
|
1236
1479
|
smalltalk.IRSequence);
|
1237
1480
|
|
@@ -1241,8 +1484,8 @@ smalltalk.method({
|
|
1241
1484
|
selector: "isSequence",
|
1242
1485
|
fn: function (){
|
1243
1486
|
var self=this;
|
1244
|
-
return
|
1245
|
-
}
|
1487
|
+
return smalltalk.withContext(function($ctx1) {
|
1488
|
+
}, function($ctx1) {$ctx1.fill(self,"isSequence",{}, smalltalk.IRSequence)})}
|
1246
1489
|
}),
|
1247
1490
|
smalltalk.IRSequence);
|
1248
1491
|
|
@@ -1255,64 +1498,15 @@ smalltalk.method({
|
|
1255
1498
|
selector: "accept:",
|
1256
1499
|
fn: function (aVisitor){
|
1257
1500
|
var self=this;
|
1258
|
-
|
1259
|
-
$1=
|
1501
|
+
return smalltalk.withContext(function($ctx1) {
|
1502
|
+
$1=_st(aVisitor)._visitIRBlockSequence_(self);
|
1260
1503
|
return $1;
|
1261
|
-
}
|
1504
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRBlockSequence)})}
|
1262
1505
|
}),
|
1263
1506
|
smalltalk.IRBlockSequence);
|
1264
1507
|
|
1265
1508
|
|
1266
1509
|
|
1267
|
-
smalltalk.addClass('IRTempDeclaration', smalltalk.IRInstruction, ['name'], 'Compiler-IR');
|
1268
|
-
smalltalk.addMethod(
|
1269
|
-
"_accept_",
|
1270
|
-
smalltalk.method({
|
1271
|
-
selector: "accept:",
|
1272
|
-
fn: function (aVisitor){
|
1273
|
-
var self=this;
|
1274
|
-
var $1;
|
1275
|
-
$1=smalltalk.send(aVisitor,"_visitIRTempDeclaration_",[self]);
|
1276
|
-
return $1;
|
1277
|
-
}
|
1278
|
-
}),
|
1279
|
-
smalltalk.IRTempDeclaration);
|
1280
|
-
|
1281
|
-
smalltalk.addMethod(
|
1282
|
-
"_isTempDeclaration",
|
1283
|
-
smalltalk.method({
|
1284
|
-
selector: "isTempDeclaration",
|
1285
|
-
fn: function (){
|
1286
|
-
var self=this;
|
1287
|
-
return true;
|
1288
|
-
}
|
1289
|
-
}),
|
1290
|
-
smalltalk.IRTempDeclaration);
|
1291
|
-
|
1292
|
-
smalltalk.addMethod(
|
1293
|
-
"_name",
|
1294
|
-
smalltalk.method({
|
1295
|
-
selector: "name",
|
1296
|
-
fn: function (){
|
1297
|
-
var self=this;
|
1298
|
-
return self["@name"];
|
1299
|
-
}
|
1300
|
-
}),
|
1301
|
-
smalltalk.IRTempDeclaration);
|
1302
|
-
|
1303
|
-
smalltalk.addMethod(
|
1304
|
-
"_name_",
|
1305
|
-
smalltalk.method({
|
1306
|
-
selector: "name:",
|
1307
|
-
fn: function (aString){
|
1308
|
-
var self=this;
|
1309
|
-
self["@name"]=aString;
|
1310
|
-
return self}
|
1311
|
-
}),
|
1312
|
-
smalltalk.IRTempDeclaration);
|
1313
|
-
|
1314
|
-
|
1315
|
-
|
1316
1510
|
smalltalk.addClass('IRValue', smalltalk.IRInstruction, ['value'], 'Compiler-IR');
|
1317
1511
|
smalltalk.addMethod(
|
1318
1512
|
"_accept_",
|
@@ -1320,10 +1514,10 @@ smalltalk.method({
|
|
1320
1514
|
selector: "accept:",
|
1321
1515
|
fn: function (aVisitor){
|
1322
1516
|
var self=this;
|
1323
|
-
|
1324
|
-
$1=
|
1517
|
+
return smalltalk.withContext(function($ctx1) {
|
1518
|
+
$1=_st(aVisitor)._visitIRValue_(self);
|
1325
1519
|
return $1;
|
1326
|
-
}
|
1520
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRValue)})}
|
1327
1521
|
}),
|
1328
1522
|
smalltalk.IRValue);
|
1329
1523
|
|
@@ -1333,8 +1527,10 @@ smalltalk.method({
|
|
1333
1527
|
selector: "value",
|
1334
1528
|
fn: function (){
|
1335
1529
|
var self=this;
|
1336
|
-
return
|
1337
|
-
|
1530
|
+
return smalltalk.withContext(function($ctx1) {
|
1531
|
+
$1=self["@value"];
|
1532
|
+
return $1;
|
1533
|
+
}, function($ctx1) {$ctx1.fill(self,"value",{}, smalltalk.IRValue)})}
|
1338
1534
|
}),
|
1339
1535
|
smalltalk.IRValue);
|
1340
1536
|
|
@@ -1344,8 +1540,8 @@ smalltalk.method({
|
|
1344
1540
|
selector: "value:",
|
1345
1541
|
fn: function (aString){
|
1346
1542
|
var self=this;
|
1347
|
-
|
1348
|
-
return self}
|
1543
|
+
return smalltalk.withContext(function($ctx1) {
|
1544
|
+
return self}, function($ctx1) {$ctx1.fill(self,"value:",{aString:aString}, smalltalk.IRValue)})}
|
1349
1545
|
}),
|
1350
1546
|
smalltalk.IRValue);
|
1351
1547
|
|
@@ -1358,10 +1554,10 @@ smalltalk.method({
|
|
1358
1554
|
selector: "accept:",
|
1359
1555
|
fn: function (aVisitor){
|
1360
1556
|
var self=this;
|
1361
|
-
|
1362
|
-
$1=
|
1557
|
+
return smalltalk.withContext(function($ctx1) {
|
1558
|
+
$1=_st(aVisitor)._visitIRVariable_(self);
|
1363
1559
|
return $1;
|
1364
|
-
}
|
1560
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRVariable)})}
|
1365
1561
|
}),
|
1366
1562
|
smalltalk.IRVariable);
|
1367
1563
|
|
@@ -1371,8 +1567,8 @@ smalltalk.method({
|
|
1371
1567
|
selector: "isVariable",
|
1372
1568
|
fn: function (){
|
1373
1569
|
var self=this;
|
1374
|
-
return
|
1375
|
-
}
|
1570
|
+
return smalltalk.withContext(function($ctx1) {
|
1571
|
+
}, function($ctx1) {$ctx1.fill(self,"isVariable",{}, smalltalk.IRVariable)})}
|
1376
1572
|
}),
|
1377
1573
|
smalltalk.IRVariable);
|
1378
1574
|
|
@@ -1382,8 +1578,10 @@ smalltalk.method({
|
|
1382
1578
|
selector: "variable",
|
1383
1579
|
fn: function (){
|
1384
1580
|
var self=this;
|
1385
|
-
return
|
1386
|
-
|
1581
|
+
return smalltalk.withContext(function($ctx1) {
|
1582
|
+
$1=self["@variable"];
|
1583
|
+
return $1;
|
1584
|
+
}, function($ctx1) {$ctx1.fill(self,"variable",{}, smalltalk.IRVariable)})}
|
1387
1585
|
}),
|
1388
1586
|
smalltalk.IRVariable);
|
1389
1587
|
|
@@ -1393,8 +1591,8 @@ smalltalk.method({
|
|
1393
1591
|
selector: "variable:",
|
1394
1592
|
fn: function (aScopeVariable){
|
1395
1593
|
var self=this;
|
1396
|
-
|
1397
|
-
return self}
|
1594
|
+
return smalltalk.withContext(function($ctx1) {
|
1595
|
+
return self}, function($ctx1) {$ctx1.fill(self,"variable:",{aScopeVariable:aScopeVariable}, smalltalk.IRVariable)})}
|
1398
1596
|
}),
|
1399
1597
|
smalltalk.IRVariable);
|
1400
1598
|
|
@@ -1407,10 +1605,10 @@ smalltalk.method({
|
|
1407
1605
|
selector: "accept:",
|
1408
1606
|
fn: function (aVisitor){
|
1409
1607
|
var self=this;
|
1410
|
-
|
1411
|
-
$1=
|
1608
|
+
return smalltalk.withContext(function($ctx1) {
|
1609
|
+
$1=_st(aVisitor)._visitIRVerbatim_(self);
|
1412
1610
|
return $1;
|
1413
|
-
}
|
1611
|
+
}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRVerbatim)})}
|
1414
1612
|
}),
|
1415
1613
|
smalltalk.IRVerbatim);
|
1416
1614
|
|
@@ -1420,8 +1618,10 @@ smalltalk.method({
|
|
1420
1618
|
selector: "source",
|
1421
1619
|
fn: function (){
|
1422
1620
|
var self=this;
|
1423
|
-
return
|
1424
|
-
|
1621
|
+
return smalltalk.withContext(function($ctx1) {
|
1622
|
+
$1=self["@source"];
|
1623
|
+
return $1;
|
1624
|
+
}, function($ctx1) {$ctx1.fill(self,"source",{}, smalltalk.IRVerbatim)})}
|
1425
1625
|
}),
|
1426
1626
|
smalltalk.IRVerbatim);
|
1427
1627
|
|
@@ -1431,8 +1631,8 @@ smalltalk.method({
|
|
1431
1631
|
selector: "source:",
|
1432
1632
|
fn: function (aString){
|
1433
1633
|
var self=this;
|
1434
|
-
|
1435
|
-
return self}
|
1634
|
+
return smalltalk.withContext(function($ctx1) {
|
1635
|
+
return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString}, smalltalk.IRVerbatim)})}
|
1436
1636
|
}),
|
1437
1637
|
smalltalk.IRVerbatim);
|
1438
1638
|
|
@@ -1445,10 +1645,10 @@ smalltalk.method({
|
|
1445
1645
|
selector: "visit:",
|
1446
1646
|
fn: function (anIRInstruction){
|
1447
1647
|
var self=this;
|
1448
|
-
|
1449
|
-
$1=
|
1648
|
+
return smalltalk.withContext(function($ctx1) {
|
1649
|
+
$1=_st(anIRInstruction)._accept_(self);
|
1450
1650
|
return $1;
|
1451
|
-
}
|
1651
|
+
}, function($ctx1) {$ctx1.fill(self,"visit:",{anIRInstruction:anIRInstruction}, smalltalk.IRVisitor)})}
|
1452
1652
|
}),
|
1453
1653
|
smalltalk.IRVisitor);
|
1454
1654
|
|
@@ -1458,10 +1658,10 @@ smalltalk.method({
|
|
1458
1658
|
selector: "visitIRAssignment:",
|
1459
1659
|
fn: function (anIRAssignment){
|
1460
1660
|
var self=this;
|
1461
|
-
|
1462
|
-
$1=
|
1661
|
+
return smalltalk.withContext(function($ctx1) {
|
1662
|
+
$1=_st(self)._visitIRInstruction_(anIRAssignment);
|
1463
1663
|
return $1;
|
1464
|
-
}
|
1664
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRAssignment:",{anIRAssignment:anIRAssignment}, smalltalk.IRVisitor)})}
|
1465
1665
|
}),
|
1466
1666
|
smalltalk.IRVisitor);
|
1467
1667
|
|
@@ -1471,10 +1671,10 @@ smalltalk.method({
|
|
1471
1671
|
selector: "visitIRBlockReturn:",
|
1472
1672
|
fn: function (anIRBlockReturn){
|
1473
1673
|
var self=this;
|
1474
|
-
|
1475
|
-
$1=
|
1674
|
+
return smalltalk.withContext(function($ctx1) {
|
1675
|
+
$1=_st(self)._visitIRReturn_(anIRBlockReturn);
|
1476
1676
|
return $1;
|
1477
|
-
}
|
1677
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRBlockReturn:",{anIRBlockReturn:anIRBlockReturn}, smalltalk.IRVisitor)})}
|
1478
1678
|
}),
|
1479
1679
|
smalltalk.IRVisitor);
|
1480
1680
|
|
@@ -1484,10 +1684,10 @@ smalltalk.method({
|
|
1484
1684
|
selector: "visitIRBlockSequence:",
|
1485
1685
|
fn: function (anIRBlockSequence){
|
1486
1686
|
var self=this;
|
1487
|
-
|
1488
|
-
$1=
|
1687
|
+
return smalltalk.withContext(function($ctx1) {
|
1688
|
+
$1=_st(self)._visitIRSequence_(anIRBlockSequence);
|
1489
1689
|
return $1;
|
1490
|
-
}
|
1690
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRBlockSequence:",{anIRBlockSequence:anIRBlockSequence}, smalltalk.IRVisitor)})}
|
1491
1691
|
}),
|
1492
1692
|
smalltalk.IRVisitor);
|
1493
1693
|
|
@@ -1497,10 +1697,10 @@ smalltalk.method({
|
|
1497
1697
|
selector: "visitIRClosure:",
|
1498
1698
|
fn: function (anIRClosure){
|
1499
1699
|
var self=this;
|
1500
|
-
|
1501
|
-
$1=
|
1700
|
+
return smalltalk.withContext(function($ctx1) {
|
1701
|
+
$1=_st(self)._visitIRInstruction_(anIRClosure);
|
1502
1702
|
return $1;
|
1503
|
-
}
|
1703
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRClosure:",{anIRClosure:anIRClosure}, smalltalk.IRVisitor)})}
|
1504
1704
|
}),
|
1505
1705
|
smalltalk.IRVisitor);
|
1506
1706
|
|
@@ -1510,10 +1710,10 @@ smalltalk.method({
|
|
1510
1710
|
selector: "visitIRDynamicArray:",
|
1511
1711
|
fn: function (anIRDynamicArray){
|
1512
1712
|
var self=this;
|
1513
|
-
|
1514
|
-
$1=
|
1713
|
+
return smalltalk.withContext(function($ctx1) {
|
1714
|
+
$1=_st(self)._visitIRInstruction_(anIRDynamicArray);
|
1515
1715
|
return $1;
|
1516
|
-
}
|
1716
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRDynamicArray:",{anIRDynamicArray:anIRDynamicArray}, smalltalk.IRVisitor)})}
|
1517
1717
|
}),
|
1518
1718
|
smalltalk.IRVisitor);
|
1519
1719
|
|
@@ -1523,10 +1723,10 @@ smalltalk.method({
|
|
1523
1723
|
selector: "visitIRDynamicDictionary:",
|
1524
1724
|
fn: function (anIRDynamicDictionary){
|
1525
1725
|
var self=this;
|
1526
|
-
|
1527
|
-
$1=
|
1726
|
+
return smalltalk.withContext(function($ctx1) {
|
1727
|
+
$1=_st(self)._visitIRInstruction_(anIRDynamicDictionary);
|
1528
1728
|
return $1;
|
1529
|
-
}
|
1729
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRDynamicDictionary:",{anIRDynamicDictionary:anIRDynamicDictionary}, smalltalk.IRVisitor)})}
|
1530
1730
|
}),
|
1531
1731
|
smalltalk.IRVisitor);
|
1532
1732
|
|
@@ -1536,10 +1736,10 @@ smalltalk.method({
|
|
1536
1736
|
selector: "visitIRInlinedClosure:",
|
1537
1737
|
fn: function (anIRInlinedClosure){
|
1538
1738
|
var self=this;
|
1539
|
-
|
1540
|
-
$1=
|
1739
|
+
return smalltalk.withContext(function($ctx1) {
|
1740
|
+
$1=_st(self)._visitIRClosure_(anIRInlinedClosure);
|
1541
1741
|
return $1;
|
1542
|
-
}
|
1742
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedClosure:",{anIRInlinedClosure:anIRInlinedClosure}, smalltalk.IRVisitor)})}
|
1543
1743
|
}),
|
1544
1744
|
smalltalk.IRVisitor);
|
1545
1745
|
|
@@ -1549,10 +1749,10 @@ smalltalk.method({
|
|
1549
1749
|
selector: "visitIRInlinedSequence:",
|
1550
1750
|
fn: function (anIRInlinedSequence){
|
1551
1751
|
var self=this;
|
1552
|
-
|
1553
|
-
$1=
|
1752
|
+
return smalltalk.withContext(function($ctx1) {
|
1753
|
+
$1=_st(self)._visitIRSequence_(anIRInlinedSequence);
|
1554
1754
|
return $1;
|
1555
|
-
}
|
1755
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedSequence:",{anIRInlinedSequence:anIRInlinedSequence}, smalltalk.IRVisitor)})}
|
1556
1756
|
}),
|
1557
1757
|
smalltalk.IRVisitor);
|
1558
1758
|
|
@@ -1562,11 +1762,13 @@ smalltalk.method({
|
|
1562
1762
|
selector: "visitIRInstruction:",
|
1563
1763
|
fn: function (anIRInstruction){
|
1564
1764
|
var self=this;
|
1565
|
-
smalltalk.
|
1566
|
-
|
1567
|
-
|
1568
|
-
|
1569
|
-
|
1765
|
+
return smalltalk.withContext(function($ctx1) {
|
1766
|
+
_st(_st(anIRInstruction)._instructions())._do_((function(each){
|
1767
|
+
return smalltalk.withContext(function($ctx2) {
|
1768
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
|
1769
|
+
$1=anIRInstruction;
|
1770
|
+
return $1;
|
1771
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRInstruction:",{anIRInstruction:anIRInstruction}, smalltalk.IRVisitor)})}
|
1570
1772
|
}),
|
1571
1773
|
smalltalk.IRVisitor);
|
1572
1774
|
|
@@ -1576,10 +1778,10 @@ smalltalk.method({
|
|
1576
1778
|
selector: "visitIRMethod:",
|
1577
1779
|
fn: function (anIRMethod){
|
1578
1780
|
var self=this;
|
1579
|
-
|
1580
|
-
$1=
|
1781
|
+
return smalltalk.withContext(function($ctx1) {
|
1782
|
+
$1=_st(self)._visitIRInstruction_(anIRMethod);
|
1581
1783
|
return $1;
|
1582
|
-
}
|
1784
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRMethod:",{anIRMethod:anIRMethod}, smalltalk.IRVisitor)})}
|
1583
1785
|
}),
|
1584
1786
|
smalltalk.IRVisitor);
|
1585
1787
|
|
@@ -1589,10 +1791,10 @@ smalltalk.method({
|
|
1589
1791
|
selector: "visitIRNonLocalReturn:",
|
1590
1792
|
fn: function (anIRNonLocalReturn){
|
1591
1793
|
var self=this;
|
1592
|
-
|
1593
|
-
$1=
|
1794
|
+
return smalltalk.withContext(function($ctx1) {
|
1795
|
+
$1=_st(self)._visitIRInstruction_(anIRNonLocalReturn);
|
1594
1796
|
return $1;
|
1595
|
-
}
|
1797
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRNonLocalReturn:",{anIRNonLocalReturn:anIRNonLocalReturn}, smalltalk.IRVisitor)})}
|
1596
1798
|
}),
|
1597
1799
|
smalltalk.IRVisitor);
|
1598
1800
|
|
@@ -1602,10 +1804,10 @@ smalltalk.method({
|
|
1602
1804
|
selector: "visitIRNonLocalReturnHandling:",
|
1603
1805
|
fn: function (anIRNonLocalReturnHandling){
|
1604
1806
|
var self=this;
|
1605
|
-
|
1606
|
-
$1=
|
1807
|
+
return smalltalk.withContext(function($ctx1) {
|
1808
|
+
$1=_st(self)._visitIRInstruction_(anIRNonLocalReturnHandling);
|
1607
1809
|
return $1;
|
1608
|
-
}
|
1810
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRNonLocalReturnHandling:",{anIRNonLocalReturnHandling:anIRNonLocalReturnHandling}, smalltalk.IRVisitor)})}
|
1609
1811
|
}),
|
1610
1812
|
smalltalk.IRVisitor);
|
1611
1813
|
|
@@ -1615,10 +1817,10 @@ smalltalk.method({
|
|
1615
1817
|
selector: "visitIRReturn:",
|
1616
1818
|
fn: function (anIRReturn){
|
1617
1819
|
var self=this;
|
1618
|
-
|
1619
|
-
$1=
|
1820
|
+
return smalltalk.withContext(function($ctx1) {
|
1821
|
+
$1=_st(self)._visitIRInstruction_(anIRReturn);
|
1620
1822
|
return $1;
|
1621
|
-
}
|
1823
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRReturn:",{anIRReturn:anIRReturn}, smalltalk.IRVisitor)})}
|
1622
1824
|
}),
|
1623
1825
|
smalltalk.IRVisitor);
|
1624
1826
|
|
@@ -1628,10 +1830,10 @@ smalltalk.method({
|
|
1628
1830
|
selector: "visitIRSend:",
|
1629
1831
|
fn: function (anIRSend){
|
1630
1832
|
var self=this;
|
1631
|
-
|
1632
|
-
$1=
|
1833
|
+
return smalltalk.withContext(function($ctx1) {
|
1834
|
+
$1=_st(self)._visitIRInstruction_(anIRSend);
|
1633
1835
|
return $1;
|
1634
|
-
}
|
1836
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRSend:",{anIRSend:anIRSend}, smalltalk.IRVisitor)})}
|
1635
1837
|
}),
|
1636
1838
|
smalltalk.IRVisitor);
|
1637
1839
|
|
@@ -1641,10 +1843,10 @@ smalltalk.method({
|
|
1641
1843
|
selector: "visitIRSequence:",
|
1642
1844
|
fn: function (anIRSequence){
|
1643
1845
|
var self=this;
|
1644
|
-
|
1645
|
-
$1=
|
1846
|
+
return smalltalk.withContext(function($ctx1) {
|
1847
|
+
$1=_st(self)._visitIRInstruction_(anIRSequence);
|
1646
1848
|
return $1;
|
1647
|
-
}
|
1849
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRSequence:",{anIRSequence:anIRSequence}, smalltalk.IRVisitor)})}
|
1648
1850
|
}),
|
1649
1851
|
smalltalk.IRVisitor);
|
1650
1852
|
|
@@ -1654,10 +1856,10 @@ smalltalk.method({
|
|
1654
1856
|
selector: "visitIRTempDeclaration:",
|
1655
1857
|
fn: function (anIRTempDeclaration){
|
1656
1858
|
var self=this;
|
1657
|
-
|
1658
|
-
$1=
|
1859
|
+
return smalltalk.withContext(function($ctx1) {
|
1860
|
+
$1=_st(self)._visitIRInstruction_(anIRTempDeclaration);
|
1659
1861
|
return $1;
|
1660
|
-
}
|
1862
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRTempDeclaration:",{anIRTempDeclaration:anIRTempDeclaration}, smalltalk.IRVisitor)})}
|
1661
1863
|
}),
|
1662
1864
|
smalltalk.IRVisitor);
|
1663
1865
|
|
@@ -1667,10 +1869,10 @@ smalltalk.method({
|
|
1667
1869
|
selector: "visitIRValue:",
|
1668
1870
|
fn: function (anIRValue){
|
1669
1871
|
var self=this;
|
1670
|
-
|
1671
|
-
$1=
|
1872
|
+
return smalltalk.withContext(function($ctx1) {
|
1873
|
+
$1=_st(self)._visitIRInstruction_(anIRValue);
|
1672
1874
|
return $1;
|
1673
|
-
}
|
1875
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRValue:",{anIRValue:anIRValue}, smalltalk.IRVisitor)})}
|
1674
1876
|
}),
|
1675
1877
|
smalltalk.IRVisitor);
|
1676
1878
|
|
@@ -1680,10 +1882,10 @@ smalltalk.method({
|
|
1680
1882
|
selector: "visitIRVariable:",
|
1681
1883
|
fn: function (anIRVariable){
|
1682
1884
|
var self=this;
|
1683
|
-
|
1684
|
-
$1=
|
1885
|
+
return smalltalk.withContext(function($ctx1) {
|
1886
|
+
$1=_st(self)._visitIRInstruction_(anIRVariable);
|
1685
1887
|
return $1;
|
1686
|
-
}
|
1888
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRVariable:",{anIRVariable:anIRVariable}, smalltalk.IRVisitor)})}
|
1687
1889
|
}),
|
1688
1890
|
smalltalk.IRVisitor);
|
1689
1891
|
|
@@ -1693,10 +1895,10 @@ smalltalk.method({
|
|
1693
1895
|
selector: "visitIRVerbatim:",
|
1694
1896
|
fn: function (anIRVerbatim){
|
1695
1897
|
var self=this;
|
1696
|
-
|
1697
|
-
$1=
|
1898
|
+
return smalltalk.withContext(function($ctx1) {
|
1899
|
+
$1=_st(self)._visitIRInstruction_(anIRVerbatim);
|
1698
1900
|
return $1;
|
1699
|
-
}
|
1901
|
+
}, function($ctx1) {$ctx1.fill(self,"visitIRVerbatim:",{anIRVerbatim:anIRVerbatim}, smalltalk.IRVisitor)})}
|
1700
1902
|
}),
|
1701
1903
|
smalltalk.IRVisitor);
|
1702
1904
|
|
@@ -1709,10 +1911,10 @@ smalltalk.method({
|
|
1709
1911
|
selector: "contents",
|
1710
1912
|
fn: function (){
|
1711
1913
|
var self=this;
|
1712
|
-
|
1713
|
-
$1=
|
1914
|
+
return smalltalk.withContext(function($ctx1) {
|
1915
|
+
$1=_st(_st(self)._stream())._contents();
|
1714
1916
|
return $1;
|
1715
|
-
}
|
1917
|
+
}, function($ctx1) {$ctx1.fill(self,"contents",{}, smalltalk.IRJSTranslator)})}
|
1716
1918
|
}),
|
1717
1919
|
smalltalk.IRJSTranslator);
|
1718
1920
|
|
@@ -1722,9 +1924,9 @@ smalltalk.method({
|
|
1722
1924
|
selector: "initialize",
|
1723
1925
|
fn: function (){
|
1724
1926
|
var self=this;
|
1725
|
-
smalltalk.
|
1726
|
-
self["@stream"]=
|
1727
|
-
return self}
|
1927
|
+
return smalltalk.withContext(function($ctx1) {
|
1928
|
+
self["@stream"]=_st((smalltalk.JSStream || JSStream))._new();
|
1929
|
+
return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.IRJSTranslator)})}
|
1728
1930
|
}),
|
1729
1931
|
smalltalk.IRJSTranslator);
|
1730
1932
|
|
@@ -1734,8 +1936,10 @@ smalltalk.method({
|
|
1734
1936
|
selector: "stream",
|
1735
1937
|
fn: function (){
|
1736
1938
|
var self=this;
|
1737
|
-
return
|
1738
|
-
|
1939
|
+
return smalltalk.withContext(function($ctx1) {
|
1940
|
+
$1=self["@stream"];
|
1941
|
+
return $1;
|
1942
|
+
}, function($ctx1) {$ctx1.fill(self,"stream",{}, smalltalk.IRJSTranslator)})}
|
1739
1943
|
}),
|
1740
1944
|
smalltalk.IRJSTranslator);
|
1741
1945
|
|
@@ -1745,8 +1949,8 @@ smalltalk.method({
|
|
1745
1949
|
selector: "stream:",
|
1746
1950
|
fn: function (aStream){
|
1747
1951
|
var self=this;
|
1748
|
-
|
1749
|
-
return self}
|
1952
|
+
return smalltalk.withContext(function($ctx1) {
|
1953
|
+
return self}, function($ctx1) {$ctx1.fill(self,"stream:",{aStream:aStream}, smalltalk.IRJSTranslator)})}
|
1750
1954
|
}),
|
1751
1955
|
smalltalk.IRJSTranslator);
|
1752
1956
|
|
@@ -1756,10 +1960,10 @@ smalltalk.method({
|
|
1756
1960
|
selector: "visitIRAssignment:",
|
1757
1961
|
fn: function (anIRAssignment){
|
1758
1962
|
var self=this;
|
1759
|
-
smalltalk.
|
1760
|
-
|
1761
|
-
|
1762
|
-
return self}
|
1963
|
+
return smalltalk.withContext(function($ctx1) {
|
1964
|
+
_st(_st(self)._stream())._nextPutAssignment();
|
1965
|
+
_st(self)._visit_(_st(_st(anIRAssignment)._instructions())._last());
|
1966
|
+
return self}, function($ctx1) {$ctx1.fill(self,"visitIRAssignment:",{anIRAssignment:anIRAssignment}, smalltalk.IRJSTranslator)})}
|
1763
1967
|
}),
|
1764
1968
|
smalltalk.IRJSTranslator);
|
1765
1969
|
|
@@ -1769,10 +1973,15 @@ smalltalk.method({
|
|
1769
1973
|
selector: "visitIRClosure:",
|
1770
1974
|
fn: function (anIRClosure){
|
1771
1975
|
var self=this;
|
1772
|
-
smalltalk.
|
1773
|
-
return smalltalk.
|
1774
|
-
|
1775
|
-
|
1976
|
+
return smalltalk.withContext(function($ctx1) {
|
1977
|
+
return smalltalk.withContext(function($ctx2) {
|
1978
|
+
return smalltalk.withContext(function($ctx3) {
|
1979
|
+
}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})})));
|
1980
|
+
return _st(_st(self)._stream())._nextPutBlockContextFor_during_(anIRClosure,(function(){
|
1981
|
+
return smalltalk.withContext(function($ctx3) {
|
1982
|
+
}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
|
1983
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),_st(anIRClosure)._arguments());
|
1984
|
+
return self}, function($ctx1) {$ctx1.fill(self,"visitIRClosure:",{anIRClosure:anIRClosure}, smalltalk.IRJSTranslator)})}
|
1776
1985
|
}),
|
1777
1986
|
smalltalk.IRJSTranslator);
|
1778
1987
|
|
@@ -1782,14 +1991,14 @@ smalltalk.method({
|
|
1782
1991
|
selector: "visitIRDynamicArray:",
|
1783
1992
|
fn: function (anIRDynamicArray){
|
1784
1993
|
var self=this;
|
1785
|
-
smalltalk.
|
1786
|
-
|
1787
|
-
return smalltalk.
|
1788
|
-
}),(function(){
|
1789
|
-
return smalltalk.
|
1790
|
-
})
|
1791
|
-
|
1792
|
-
return self}
|
1994
|
+
return smalltalk.withContext(function($ctx1) {
|
1995
|
+
_st(_st(anIRDynamicArray)._instructions())._do_separatedBy_((function(each){
|
1996
|
+
return smalltalk.withContext(function($ctx2) {
|
1997
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
|
1998
|
+
return smalltalk.withContext(function($ctx2) {
|
1999
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
2000
|
+
_st(self["@stream"])._nextPutAll_("]");
|
2001
|
+
return self}, function($ctx1) {$ctx1.fill(self,"visitIRDynamicArray:",{anIRDynamicArray:anIRDynamicArray}, smalltalk.IRJSTranslator)})}
|
1793
2002
|
}),
|
1794
2003
|
smalltalk.IRJSTranslator);
|
1795
2004
|
|
@@ -1799,14 +2008,14 @@ smalltalk.method({
|
|
1799
2008
|
selector: "visitIRDynamicDictionary:",
|
1800
2009
|
fn: function (anIRDynamicDictionary){
|
1801
2010
|
var self=this;
|
1802
|
-
smalltalk.
|
1803
|
-
|
1804
|
-
return smalltalk.
|
1805
|
-
}),(function(){
|
1806
|
-
return smalltalk.
|
1807
|
-
})
|
1808
|
-
|
1809
|
-
return self}
|
2011
|
+
return smalltalk.withContext(function($ctx1) {
|
2012
|
+
_st(_st(anIRDynamicDictionary)._instructions())._do_separatedBy_((function(each){
|
2013
|
+
return smalltalk.withContext(function($ctx2) {
|
2014
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
|
2015
|
+
return smalltalk.withContext(function($ctx2) {
|
2016
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
2017
|
+
_st(_st(self)._stream())._nextPutAll_("])");
|
2018
|
+
return self}, function($ctx1) {$ctx1.fill(self,"visitIRDynamicDictionary:",{anIRDynamicDictionary:anIRDynamicDictionary}, smalltalk.IRJSTranslator)})}
|
1810
2019
|
}),
|
1811
2020
|
smalltalk.IRJSTranslator);
|
1812
2021
|
|
@@ -1816,26 +2025,39 @@ smalltalk.method({
|
|
1816
2025
|
selector: "visitIRMethod:",
|
1817
2026
|
fn: function (anIRMethod){
|
1818
2027
|
var self=this;
|
1819
|
-
|
1820
|
-
|
1821
|
-
|
1822
|
-
$
|
1823
|
-
|
1824
|
-
|
1825
|
-
return smalltalk.
|
1826
|
-
|
2028
|
+
return smalltalk.withContext(function($ctx1) {
|
2029
|
+
$1=_st(self)._stream();
|
2030
|
+
$2=anIRMethod;
|
2031
|
+
$3=(function(){
|
2032
|
+
return smalltalk.withContext(function($ctx2) {
|
2033
|
+
$5=(function(){
|
2034
|
+
return smalltalk.withContext(function($ctx3) {
|
2035
|
+
return smalltalk.withContext(function($ctx4) {
|
2036
|
+
}, function($ctx4) {$ctx4.fillBlock({each:each},$ctx1)})})));
|
2037
|
+
$6=_st(self)._stream();
|
2038
|
+
$7=anIRMethod;
|
2039
|
+
$8=(function(){
|
2040
|
+
return smalltalk.withContext(function($ctx4) {
|
2041
|
+
if(smalltalk.assert($9)){
|
2042
|
+
_st(_st(self)._stream())._nextPutVars_(_st(_st(_st(anIRMethod)._internalVariables())._asArray())._collect_((function(each){
|
2043
|
+
return smalltalk.withContext(function($ctx5) {
|
2044
|
+
}, function($ctx5) {$ctx5.fillBlock({each:each},$ctx1)})})));
|
1827
2045
|
};
|
1828
|
-
$
|
1829
|
-
if(smalltalk.assert($
|
1830
|
-
return
|
1831
|
-
return smalltalk.
|
1832
|
-
})
|
2046
|
+
$10=_st(_st(anIRMethod)._scope())._hasNonLocalReturn();
|
2047
|
+
if(smalltalk.assert($10)){
|
2048
|
+
return _st(_st(self)._stream())._nextPutNonLocalReturnHandlingWith_((function(){
|
2049
|
+
return smalltalk.withContext(function($ctx5) {
|
2050
|
+
}, function($ctx5) {$ctx5.fillBlock({},$ctx1)})}));
|
1833
2051
|
} else {
|
1834
|
-
return smalltalk.
|
2052
|
+
return smalltalk.IRVisitor.fn.prototype._visitIRMethod_.apply(_st(self), [anIRMethod]);
|
1835
2053
|
};
|
1836
|
-
})
|
1837
|
-
|
1838
|
-
|
2054
|
+
}, function($ctx4) {$ctx4.fillBlock({},$ctx1)})});
|
2055
|
+
return _st($6)._nextPutContextFor_during_($7,$8);
|
2056
|
+
}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})});
|
2057
|
+
return _st($4)._nextPutFunctionWith_arguments_($5,_st(anIRMethod)._arguments());
|
2058
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
|
2059
|
+
_st($1)._nextPutMethodDeclaration_with_($2,$3);
|
2060
|
+
return self}, function($ctx1) {$ctx1.fill(self,"visitIRMethod:",{anIRMethod:anIRMethod}, smalltalk.IRJSTranslator)})}
|
1839
2061
|
}),
|
1840
2062
|
smalltalk.IRJSTranslator);
|
1841
2063
|
|
@@ -1845,10 +2067,10 @@ smalltalk.method({
|
|
1845
2067
|
selector: "visitIRNonLocalReturn:",
|
1846
2068
|
fn: function (anIRNonLocalReturn){
|
1847
2069
|
var self=this;
|
1848
|
-
smalltalk.
|
1849
|
-
return smalltalk.
|
1850
|
-
})
|
1851
|
-
return self}
|
2070
|
+
return smalltalk.withContext(function($ctx1) {
|
2071
|
+
return smalltalk.withContext(function($ctx2) {
|
2072
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
2073
|
+
return self}, function($ctx1) {$ctx1.fill(self,"visitIRNonLocalReturn:",{anIRNonLocalReturn:anIRNonLocalReturn}, smalltalk.IRJSTranslator)})}
|
1852
2074
|
}),
|
1853
2075
|
smalltalk.IRJSTranslator);
|
1854
2076
|
|
@@ -1858,10 +2080,10 @@ smalltalk.method({
|
|
1858
2080
|
selector: "visitIRReturn:",
|
1859
2081
|
fn: function (anIRReturn){
|
1860
2082
|
var self=this;
|
1861
|
-
smalltalk.
|
1862
|
-
return smalltalk.
|
1863
|
-
})
|
1864
|
-
return self}
|
2083
|
+
return smalltalk.withContext(function($ctx1) {
|
2084
|
+
return smalltalk.withContext(function($ctx2) {
|
2085
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
2086
|
+
return self}, function($ctx1) {$ctx1.fill(self,"visitIRReturn:",{anIRReturn:anIRReturn}, smalltalk.IRJSTranslator)})}
|
1865
2087
|
}),
|
1866
2088
|
smalltalk.IRJSTranslator);
|
1867
2089
|
|
@@ -1871,24 +2093,34 @@ smalltalk.method({
|
|
1871
2093
|
selector: "visitIRSend:",
|
1872
2094
|
fn: function (anIRSend){
|
1873
2095
|
var self=this;
|
1874
|
-
|
1875
|
-
|
1876
|
-
smalltalk.send(self,"_visit_",[smalltalk.send(smalltalk.send(anIRSend,"_instructions",[]),"_first",[])]);
|
1877
|
-
smalltalk.send(smalltalk.send(self,"_stream",[]),"_nextPutAll_",[smalltalk.send(smalltalk.send(",\x22","__comma",[smalltalk.send(smalltalk.send(anIRSend,"_selector",[]),"_asSelector",[])]),"__comma",["\x22,["])]);
|
1878
|
-
smalltalk.send(smalltalk.send(smalltalk.send(anIRSend,"_instructions",[]),"_allButFirst",[]),"_do_separatedBy_",[(function(each){
|
1879
|
-
return smalltalk.send(self,"_visit_",[each]);
|
1880
|
-
}),(function(){
|
1881
|
-
return smalltalk.send(smalltalk.send(self,"_stream",[]),"_nextPutAll_",[","]);
|
1882
|
-
})]);
|
1883
|
-
smalltalk.send(smalltalk.send(self,"_stream",[]),"_nextPutAll_",["]"]);
|
1884
|
-
$1=smalltalk.send(anIRSend,"_classSend",[]);
|
2096
|
+
return smalltalk.withContext(function($ctx1) {
|
2097
|
+
$1=_st(anIRSend)._classSend();
|
1885
2098
|
if(($receiver = $1) == nil || $receiver == undefined){
|
1886
|
-
|
2099
|
+
_st(_st(self)._stream())._nextPutAll_("_st(");
|
2100
|
+
_st(self)._visit_(_st(_st(anIRSend)._instructions())._first());
|
2101
|
+
_st(_st(self)._stream())._nextPutAll_(_st(_st(").").__comma(_st(_st(anIRSend)._selector())._asSelector())).__comma("("));
|
2102
|
+
_st(_st(_st(anIRSend)._instructions())._allButFirst())._do_separatedBy_((function(each){
|
2103
|
+
return smalltalk.withContext(function($ctx2) {
|
2104
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
|
2105
|
+
return smalltalk.withContext(function($ctx2) {
|
2106
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
2107
|
+
_st(_st(self)._stream())._nextPutAll_(")");
|
1887
2108
|
} else {
|
1888
|
-
|
2109
|
+
$2=_st(self)._stream();
|
2110
|
+
_st($2)._nextPutAll_(_st(_st(_st(anIRSend)._classSend())._asJavascript()).__comma(".fn.prototype."));
|
2111
|
+
_st($2)._nextPutAll_(_st(_st(_st(anIRSend)._selector())._asSelector()).__comma(".apply("));
|
2112
|
+
$3=_st($2)._nextPutAll_("_st(");
|
2113
|
+
$3;
|
2114
|
+
_st(self)._visit_(_st(_st(anIRSend)._instructions())._first());
|
2115
|
+
_st(_st(self)._stream())._nextPutAll_("), [");
|
2116
|
+
_st(_st(_st(anIRSend)._instructions())._allButFirst())._do_separatedBy_((function(each){
|
2117
|
+
return smalltalk.withContext(function($ctx2) {
|
2118
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
|
2119
|
+
return smalltalk.withContext(function($ctx2) {
|
2120
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
2121
|
+
_st(_st(self)._stream())._nextPutAll_("])");
|
1889
2122
|
};
|
1890
|
-
|
1891
|
-
return self}
|
2123
|
+
return self}, function($ctx1) {$ctx1.fill(self,"visitIRSend:",{anIRSend:anIRSend}, smalltalk.IRJSTranslator)})}
|
1892
2124
|
}),
|
1893
2125
|
smalltalk.IRJSTranslator);
|
1894
2126
|
|
@@ -1898,12 +2130,12 @@ smalltalk.method({
|
|
1898
2130
|
selector: "visitIRSequence:",
|
1899
2131
|
fn: function (anIRSequence){
|
1900
2132
|
var self=this;
|
1901
|
-
smalltalk.
|
1902
|
-
return smalltalk.
|
1903
|
-
return smalltalk.
|
1904
|
-
})
|
1905
|
-
})
|
1906
|
-
return self}
|
2133
|
+
return smalltalk.withContext(function($ctx1) {
|
2134
|
+
return smalltalk.withContext(function($ctx2) {
|
2135
|
+
return smalltalk.withContext(function($ctx3) {
|
2136
|
+
}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
|
2137
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
2138
|
+
return self}, function($ctx1) {$ctx1.fill(self,"visitIRSequence:",{anIRSequence:anIRSequence}, smalltalk.IRJSTranslator)})}
|
1907
2139
|
}),
|
1908
2140
|
smalltalk.IRJSTranslator);
|
1909
2141
|
|
@@ -1913,8 +2145,7 @@ smalltalk.method({
|
|
1913
2145
|
selector: "visitIRTempDeclaration:",
|
1914
2146
|
fn: function (anIRTempDeclaration){
|
1915
2147
|
var self=this;
|
1916
|
-
smalltalk.
|
1917
|
-
return self}
|
2148
|
+
return smalltalk.withContext(function($ctx1) {
|
1918
2149
|
}),
|
1919
2150
|
smalltalk.IRJSTranslator);
|
1920
2151
|
|
@@ -1924,8 +2155,8 @@ smalltalk.method({
|
|
1924
2155
|
selector: "visitIRValue:",
|
1925
2156
|
fn: function (anIRValue){
|
1926
2157
|
var self=this;
|
1927
|
-
smalltalk.
|
1928
|
-
return self}
|
2158
|
+
return smalltalk.withContext(function($ctx1) {
|
2159
|
+
return self}, function($ctx1) {$ctx1.fill(self,"visitIRValue:",{anIRValue:anIRValue}, smalltalk.IRJSTranslator)})}
|
1929
2160
|
}),
|
1930
2161
|
smalltalk.IRJSTranslator);
|
1931
2162
|
|
@@ -1935,14 +2166,14 @@ smalltalk.method({
|
|
1935
2166
|
selector: "visitIRVariable:",
|
1936
2167
|
fn: function (anIRVariable){
|
1937
2168
|
var self=this;
|
1938
|
-
|
1939
|
-
$1=
|
2169
|
+
return smalltalk.withContext(function($ctx1) {
|
2170
|
+
$1=_st(_st(_st(anIRVariable)._variable())._name()).__eq("thisContext");
|
1940
2171
|
if(smalltalk.assert($1)){
|
1941
|
-
|
2172
|
+
_st(_st(self)._stream())._nextPutAll_("smalltalk.getThisContext()");
|
1942
2173
|
} else {
|
1943
|
-
|
2174
|
+
_st(_st(self)._stream())._nextPutAll_(_st(_st(anIRVariable)._variable())._alias());
|
1944
2175
|
};
|
1945
|
-
return self}
|
2176
|
+
return self}, function($ctx1) {$ctx1.fill(self,"visitIRVariable:",{anIRVariable:anIRVariable}, smalltalk.IRJSTranslator)})}
|
1946
2177
|
}),
|
1947
2178
|
smalltalk.IRJSTranslator);
|
1948
2179
|
|
@@ -1952,10 +2183,10 @@ smalltalk.method({
|
|
1952
2183
|
selector: "visitIRVerbatim:",
|
1953
2184
|
fn: function (anIRVerbatim){
|
1954
2185
|
var self=this;
|
1955
|
-
smalltalk.
|
1956
|
-
return smalltalk.
|
1957
|
-
})
|
1958
|
-
return self}
|
2186
|
+
return smalltalk.withContext(function($ctx1) {
|
2187
|
+
return smalltalk.withContext(function($ctx2) {
|
2188
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
2189
|
+
return self}, function($ctx1) {$ctx1.fill(self,"visitIRVerbatim:",{anIRVerbatim:anIRVerbatim}, smalltalk.IRJSTranslator)})}
|
1959
2190
|
}),
|
1960
2191
|
smalltalk.IRJSTranslator);
|
1961
2192
|
|
@@ -1968,10 +2199,10 @@ smalltalk.method({
|
|
1968
2199
|
selector: "contents",
|
1969
2200
|
fn: function (){
|
1970
2201
|
var self=this;
|
1971
|
-
|
1972
|
-
$1=
|
2202
|
+
return smalltalk.withContext(function($ctx1) {
|
2203
|
+
$1=_st(self["@stream"])._contents();
|
1973
2204
|
return $1;
|
1974
|
-
}
|
2205
|
+
}, function($ctx1) {$ctx1.fill(self,"contents",{}, smalltalk.JSStream)})}
|
1975
2206
|
}),
|
1976
2207
|
smalltalk.JSStream);
|
1977
2208
|
|
@@ -1981,9 +2212,9 @@ smalltalk.method({
|
|
1981
2212
|
selector: "initialize",
|
1982
2213
|
fn: function (){
|
1983
2214
|
var self=this;
|
1984
|
-
smalltalk.
|
1985
|
-
self["@stream"]=
|
1986
|
-
return self}
|
2215
|
+
return smalltalk.withContext(function($ctx1) {
|
2216
|
+
self["@stream"]=_st("")._writeStream();
|
2217
|
+
return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.JSStream)})}
|
1987
2218
|
}),
|
1988
2219
|
smalltalk.JSStream);
|
1989
2220
|
|
@@ -1993,8 +2224,8 @@ smalltalk.method({
|
|
1993
2224
|
selector: "lf",
|
1994
2225
|
fn: function (){
|
1995
2226
|
var self=this;
|
1996
|
-
smalltalk.
|
1997
|
-
return self}
|
2227
|
+
return smalltalk.withContext(function($ctx1) {
|
2228
|
+
return self}, function($ctx1) {$ctx1.fill(self,"lf",{}, smalltalk.JSStream)})}
|
1998
2229
|
}),
|
1999
2230
|
smalltalk.JSStream);
|
2000
2231
|
|
@@ -2004,8 +2235,8 @@ smalltalk.method({
|
|
2004
2235
|
selector: "nextPut:",
|
2005
2236
|
fn: function (aString){
|
2006
2237
|
var self=this;
|
2007
|
-
smalltalk.
|
2008
|
-
return self}
|
2238
|
+
return smalltalk.withContext(function($ctx1) {
|
2239
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPut:",{aString:aString}, smalltalk.JSStream)})}
|
2009
2240
|
}),
|
2010
2241
|
smalltalk.JSStream);
|
2011
2242
|
|
@@ -2015,8 +2246,8 @@ smalltalk.method({
|
|
2015
2246
|
selector: "nextPutAll:",
|
2016
2247
|
fn: function (aString){
|
2017
2248
|
var self=this;
|
2018
|
-
smalltalk.
|
2019
|
-
return self}
|
2249
|
+
return smalltalk.withContext(function($ctx1) {
|
2250
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutAll:",{aString:aString}, smalltalk.JSStream)})}
|
2020
2251
|
}),
|
2021
2252
|
smalltalk.JSStream);
|
2022
2253
|
|
@@ -2026,8 +2257,38 @@ smalltalk.method({
|
|
2026
2257
|
selector: "nextPutAssignment",
|
2027
2258
|
fn: function (){
|
2028
2259
|
var self=this;
|
2029
|
-
smalltalk.
|
2030
|
-
return self}
|
2260
|
+
return smalltalk.withContext(function($ctx1) {
|
2261
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutAssignment",{}, smalltalk.JSStream)})}
|
2262
|
+
}),
|
2263
|
+
smalltalk.JSStream);
|
2264
|
+
|
2265
|
+
smalltalk.addMethod(
|
2266
|
+
"_nextPutBlockContextFor_during_",
|
2267
|
+
smalltalk.method({
|
2268
|
+
selector: "nextPutBlockContextFor:during:",
|
2269
|
+
fn: function (anIRClosure,aBlock){
|
2270
|
+
var self=this;
|
2271
|
+
return smalltalk.withContext(function($ctx1) {
|
2272
|
+
$1=self;
|
2273
|
+
_st($1)._nextPutAll_(_st(_st("return smalltalk.withContext(function(").__comma(_st(_st(anIRClosure)._scope())._alias())).__comma(") {"));
|
2274
|
+
$2=_st($1)._nextPutAll_(_st((smalltalk.String || String))._cr());
|
2275
|
+
_st(aBlock)._value();
|
2276
|
+
$3=self;
|
2277
|
+
_st($3)._nextPutAll_(_st(_st("}, function(").__comma(_st(_st(anIRClosure)._scope())._alias())).__comma(") {"));
|
2278
|
+
$4=_st($3)._nextPutAll_(_st(_st(_st(anIRClosure)._scope())._alias()).__comma(".fillBlock({"));
|
2279
|
+
_st(_st(anIRClosure)._locals())._do_separatedBy_((function(each){
|
2280
|
+
return smalltalk.withContext(function($ctx2) {
|
2281
|
+
_st($5)._nextPutAll_(_st(each)._asVariableName());
|
2282
|
+
_st($5)._nextPutAll_(":");
|
2283
|
+
$6=_st($5)._nextPutAll_(_st(each)._asVariableName());
|
2284
|
+
return $6;
|
2285
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
|
2286
|
+
return smalltalk.withContext(function($ctx2) {
|
2287
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
2288
|
+
$7=self;
|
2289
|
+
_st($7)._nextPutAll_("},");
|
2290
|
+
$8=_st($7)._nextPutAll_(_st(_st(_st(_st(anIRClosure)._method())._scope())._alias()).__comma(")})"));
|
2291
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutBlockContextFor:during:",{anIRClosure:anIRClosure,aBlock:aBlock}, smalltalk.JSStream)})}
|
2031
2292
|
}),
|
2032
2293
|
smalltalk.JSStream);
|
2033
2294
|
|
@@ -2037,18 +2298,50 @@ smalltalk.method({
|
|
2037
2298
|
selector: "nextPutClosureWith:arguments:",
|
2038
2299
|
fn: function (aBlock,anArray){
|
2039
2300
|
var self=this;
|
2040
|
-
|
2041
|
-
|
2042
|
-
|
2043
|
-
return smalltalk.
|
2044
|
-
}),(function(){
|
2045
|
-
return smalltalk.
|
2046
|
-
})
|
2047
|
-
|
2048
|
-
$1
|
2049
|
-
|
2050
|
-
|
2051
|
-
|
2301
|
+
return smalltalk.withContext(function($ctx1) {
|
2302
|
+
_st(self["@stream"])._nextPutAll_("(function(");
|
2303
|
+
_st(anArray)._do_separatedBy_((function(each){
|
2304
|
+
return smalltalk.withContext(function($ctx2) {
|
2305
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
|
2306
|
+
return smalltalk.withContext(function($ctx2) {
|
2307
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
2308
|
+
$1=self["@stream"];
|
2309
|
+
_st($1)._nextPutAll_("){");
|
2310
|
+
$2=_st($1)._lf();
|
2311
|
+
_st(aBlock)._value();
|
2312
|
+
_st(self["@stream"])._nextPutAll_("})");
|
2313
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutClosureWith:arguments:",{aBlock:aBlock,anArray:anArray}, smalltalk.JSStream)})}
|
2314
|
+
}),
|
2315
|
+
smalltalk.JSStream);
|
2316
|
+
|
2317
|
+
smalltalk.addMethod(
|
2318
|
+
"_nextPutContextFor_during_",
|
2319
|
+
smalltalk.method({
|
2320
|
+
selector: "nextPutContextFor:during:",
|
2321
|
+
fn: function (aMethod,aBlock){
|
2322
|
+
var self=this;
|
2323
|
+
return smalltalk.withContext(function($ctx1) {
|
2324
|
+
$1=self;
|
2325
|
+
_st($1)._nextPutAll_(_st(_st("return smalltalk.withContext(function(").__comma(_st(_st(aMethod)._scope())._alias())).__comma(") { "));
|
2326
|
+
$2=_st($1)._nextPutAll_(_st((smalltalk.String || String))._cr());
|
2327
|
+
_st(aBlock)._value();
|
2328
|
+
$3=self;
|
2329
|
+
_st($3)._nextPutAll_(_st(_st(_st("}, function(").__comma(_st(_st(aMethod)._scope())._alias())).__comma(") {")).__comma(_st(_st(aMethod)._scope())._alias()));
|
2330
|
+
$4=_st($3)._nextPutAll_(_st(_st(".fill(self,").__comma(_st(_st(aMethod)._selector())._asJavascript())).__comma(",{"));
|
2331
|
+
_st(_st(aMethod)._locals())._do_separatedBy_((function(each){
|
2332
|
+
return smalltalk.withContext(function($ctx2) {
|
2333
|
+
_st($5)._nextPutAll_(_st(each)._asVariableName());
|
2334
|
+
_st($5)._nextPutAll_(":");
|
2335
|
+
$6=_st($5)._nextPutAll_(_st(each)._asVariableName());
|
2336
|
+
return $6;
|
2337
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
|
2338
|
+
return smalltalk.withContext(function($ctx2) {
|
2339
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
2340
|
+
$7=self;
|
2341
|
+
_st($7)._nextPutAll_("}, ");
|
2342
|
+
_st($7)._nextPutAll_(_st(_st(aMethod)._theClass())._asJavascript());
|
2343
|
+
$8=_st($7)._nextPutAll_(")})");
|
2344
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutContextFor:during:",{aMethod:aMethod,aBlock:aBlock}, smalltalk.JSStream)})}
|
2052
2345
|
}),
|
2053
2346
|
smalltalk.JSStream);
|
2054
2347
|
|
@@ -2058,20 +2351,22 @@ smalltalk.method({
|
|
2058
2351
|
selector: "nextPutFunctionWith:arguments:",
|
2059
2352
|
fn: function (aBlock,anArray){
|
2060
2353
|
var self=this;
|
2061
|
-
|
2062
|
-
|
2063
|
-
|
2064
|
-
return smalltalk.
|
2065
|
-
}),(function(){
|
2066
|
-
return smalltalk.
|
2067
|
-
})
|
2068
|
-
|
2069
|
-
$1
|
2070
|
-
|
2071
|
-
$
|
2072
|
-
|
2073
|
-
|
2074
|
-
|
2354
|
+
return smalltalk.withContext(function($ctx1) {
|
2355
|
+
_st(self["@stream"])._nextPutAll_("fn: function(");
|
2356
|
+
_st(anArray)._do_separatedBy_((function(each){
|
2357
|
+
return smalltalk.withContext(function($ctx2) {
|
2358
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
|
2359
|
+
return smalltalk.withContext(function($ctx2) {
|
2360
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
2361
|
+
$1=self["@stream"];
|
2362
|
+
_st($1)._nextPutAll_("){");
|
2363
|
+
$2=_st($1)._lf();
|
2364
|
+
$3=self["@stream"];
|
2365
|
+
_st($3)._nextPutAll_("var self=this;");
|
2366
|
+
$4=_st($3)._lf();
|
2367
|
+
_st(aBlock)._value();
|
2368
|
+
_st(self["@stream"])._nextPutAll_("}");
|
2369
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutFunctionWith:arguments:",{aBlock:aBlock,anArray:anArray}, smalltalk.JSStream)})}
|
2075
2370
|
}),
|
2076
2371
|
smalltalk.JSStream);
|
2077
2372
|
|
@@ -2081,14 +2376,15 @@ smalltalk.method({
|
|
2081
2376
|
selector: "nextPutIf:with:",
|
2082
2377
|
fn: function (aBlock,anotherBlock){
|
2083
2378
|
var self=this;
|
2084
|
-
|
2085
|
-
|
2086
|
-
|
2087
|
-
|
2088
|
-
$1
|
2089
|
-
|
2090
|
-
|
2091
|
-
|
2379
|
+
return smalltalk.withContext(function($ctx1) {
|
2380
|
+
_st(self["@stream"])._nextPutAll_("if(");
|
2381
|
+
_st(aBlock)._value();
|
2382
|
+
$1=self["@stream"];
|
2383
|
+
_st($1)._nextPutAll_("){");
|
2384
|
+
$2=_st($1)._lf();
|
2385
|
+
_st(anotherBlock)._value();
|
2386
|
+
_st(self["@stream"])._nextPutAll_("}");
|
2387
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutIf:with:",{aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.JSStream)})}
|
2092
2388
|
}),
|
2093
2389
|
smalltalk.JSStream);
|
2094
2390
|
|
@@ -2098,17 +2394,19 @@ smalltalk.method({
|
|
2098
2394
|
selector: "nextPutIfElse:with:with:",
|
2099
2395
|
fn: function (aBlock,ifBlock,elseBlock){
|
2100
2396
|
var self=this;
|
2101
|
-
|
2102
|
-
|
2103
|
-
|
2104
|
-
|
2105
|
-
$1
|
2106
|
-
|
2107
|
-
|
2108
|
-
$
|
2109
|
-
|
2110
|
-
|
2111
|
-
|
2397
|
+
return smalltalk.withContext(function($ctx1) {
|
2398
|
+
_st(self["@stream"])._nextPutAll_("if(");
|
2399
|
+
_st(aBlock)._value();
|
2400
|
+
$1=self["@stream"];
|
2401
|
+
_st($1)._nextPutAll_("){");
|
2402
|
+
$2=_st($1)._lf();
|
2403
|
+
_st(ifBlock)._value();
|
2404
|
+
$3=self["@stream"];
|
2405
|
+
_st($3)._nextPutAll_("} else {");
|
2406
|
+
$4=_st($3)._lf();
|
2407
|
+
_st(elseBlock)._value();
|
2408
|
+
_st(self["@stream"])._nextPutAll_("}");
|
2409
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutIfElse:with:with:",{aBlock:aBlock,ifBlock:ifBlock,elseBlock:elseBlock}, smalltalk.JSStream)})}
|
2112
2410
|
}),
|
2113
2411
|
smalltalk.JSStream);
|
2114
2412
|
|
@@ -2118,30 +2416,33 @@ smalltalk.method({
|
|
2118
2416
|
selector: "nextPutMethodDeclaration:with:",
|
2119
2417
|
fn: function (aMethod,aBlock){
|
2120
2418
|
var self=this;
|
2121
|
-
|
2122
|
-
|
2123
|
-
smalltalk.
|
2124
|
-
|
2125
|
-
|
2126
|
-
|
2127
|
-
$1
|
2128
|
-
|
2129
|
-
|
2130
|
-
|
2131
|
-
|
2132
|
-
|
2133
|
-
|
2134
|
-
|
2135
|
-
smalltalk.
|
2136
|
-
$
|
2137
|
-
|
2138
|
-
|
2139
|
-
|
2140
|
-
return smalltalk.
|
2141
|
-
})
|
2142
|
-
smalltalk.
|
2143
|
-
$
|
2144
|
-
|
2419
|
+
return smalltalk.withContext(function($ctx1) {
|
2420
|
+
$1=self["@stream"];
|
2421
|
+
_st($1)._nextPutAll_("smalltalk.method({");
|
2422
|
+
_st($1)._lf();
|
2423
|
+
_st($1)._nextPutAll_(_st(_st("selector: \x22").__comma(_st(aMethod)._selector())).__comma("\x22,"));
|
2424
|
+
_st($1)._lf();
|
2425
|
+
_st($1)._nextPutAll_(_st(_st("source: ").__comma(_st(_st(aMethod)._source())._asJavascript())).__comma(","));
|
2426
|
+
$2=_st($1)._lf();
|
2427
|
+
_st(aBlock)._value();
|
2428
|
+
$3=self["@stream"];
|
2429
|
+
_st($3)._nextPutAll_(_st(_st(",").__comma(_st((smalltalk.String || String))._lf())).__comma("messageSends: "));
|
2430
|
+
_st($3)._nextPutAll_(_st(_st(_st(_st(aMethod)._messageSends())._asArray())._asJavascript()).__comma(","));
|
2431
|
+
_st($3)._lf();
|
2432
|
+
_st($3)._nextPutAll_(_st(_st("args: ").__comma(_st(_st(_st(_st(aMethod)._arguments())._collect_((function(each){
|
2433
|
+
return smalltalk.withContext(function($ctx2) {
|
2434
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._asArray())._asJavascript())).__comma(","));
|
2435
|
+
_st($3)._lf();
|
2436
|
+
$4=_st($3)._nextPutAll_("referencedClasses: [");
|
2437
|
+
_st(_st(aMethod)._classReferences())._do_separatedBy_((function(each){
|
2438
|
+
return smalltalk.withContext(function($ctx2) {
|
2439
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
|
2440
|
+
return smalltalk.withContext(function($ctx2) {
|
2441
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
2442
|
+
$5=self["@stream"];
|
2443
|
+
_st($5)._nextPutAll_("]");
|
2444
|
+
$6=_st($5)._nextPutAll_("})");
|
2445
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutMethodDeclaration:with:",{aMethod:aMethod,aBlock:aBlock}, smalltalk.JSStream)})}
|
2145
2446
|
}),
|
2146
2447
|
smalltalk.JSStream);
|
2147
2448
|
|
@@ -2151,17 +2452,19 @@ smalltalk.method({
|
|
2151
2452
|
selector: "nextPutNonLocalReturnHandlingWith:",
|
2152
2453
|
fn: function (aBlock){
|
2153
2454
|
var self=this;
|
2154
|
-
|
2155
|
-
|
2156
|
-
|
2157
|
-
|
2158
|
-
$1
|
2159
|
-
|
2160
|
-
|
2161
|
-
|
2162
|
-
|
2163
|
-
$
|
2164
|
-
return
|
2455
|
+
return smalltalk.withContext(function($ctx1) {
|
2456
|
+
$1=self["@stream"];
|
2457
|
+
_st($1)._nextPutAll_("var $early={};");
|
2458
|
+
_st($1)._lf();
|
2459
|
+
_st($1)._nextPutAll_("try {");
|
2460
|
+
$2=_st($1)._lf();
|
2461
|
+
_st(aBlock)._value();
|
2462
|
+
$3=self["@stream"];
|
2463
|
+
_st($3)._nextPutAll_("}");
|
2464
|
+
_st($3)._lf();
|
2465
|
+
_st($3)._nextPutAll_("catch(e) {if(e===$early)return e[0]; throw e}");
|
2466
|
+
$4=_st($3)._lf();
|
2467
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutNonLocalReturnHandlingWith:",{aBlock:aBlock}, smalltalk.JSStream)})}
|
2165
2468
|
}),
|
2166
2469
|
smalltalk.JSStream);
|
2167
2470
|
|
@@ -2171,10 +2474,10 @@ smalltalk.method({
|
|
2171
2474
|
selector: "nextPutNonLocalReturnWith:",
|
2172
2475
|
fn: function (aBlock){
|
2173
2476
|
var self=this;
|
2174
|
-
smalltalk.
|
2175
|
-
|
2176
|
-
|
2177
|
-
return self}
|
2477
|
+
return smalltalk.withContext(function($ctx1) {
|
2478
|
+
_st(aBlock)._value();
|
2479
|
+
_st(self["@stream"])._nextPutAll_("]");
|
2480
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutNonLocalReturnWith:",{aBlock:aBlock}, smalltalk.JSStream)})}
|
2178
2481
|
}),
|
2179
2482
|
smalltalk.JSStream);
|
2180
2483
|
|
@@ -2184,8 +2487,8 @@ smalltalk.method({
|
|
2184
2487
|
selector: "nextPutReturn",
|
2185
2488
|
fn: function (){
|
2186
2489
|
var self=this;
|
2187
|
-
smalltalk.
|
2188
|
-
return self}
|
2490
|
+
return smalltalk.withContext(function($ctx1) {
|
2491
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutReturn",{}, smalltalk.JSStream)})}
|
2189
2492
|
}),
|
2190
2493
|
smalltalk.JSStream);
|
2191
2494
|
|
@@ -2195,28 +2498,9 @@ smalltalk.method({
|
|
2195
2498
|
selector: "nextPutReturnWith:",
|
2196
2499
|
fn: function (aBlock){
|
2197
2500
|
var self=this;
|
2198
|
-
smalltalk.
|
2199
|
-
|
2200
|
-
return self}
|
2201
|
-
}),
|
2202
|
-
smalltalk.JSStream);
|
2203
|
-
|
2204
|
-
smalltalk.addMethod(
|
2205
|
-
"_nextPutSendTo_selector_arguments_",
|
2206
|
-
smalltalk.method({
|
2207
|
-
selector: "nextPutSendTo:selector:arguments:",
|
2208
|
-
fn: function (receiver,selector,arguments){
|
2209
|
-
var self=this;
|
2210
|
-
smalltalk.send(self["@stream"],"_nextPutAll_",["smalltalk.send("]);
|
2211
|
-
smalltalk.send(receiver,"_emitOn_",[self]);
|
2212
|
-
smalltalk.send(self["@stream"],"_nextPutAll_",[smalltalk.send(smalltalk.send(",\x22","__comma",[smalltalk.send(selector,"_asSelector",[])]),"__comma",["\x22,["])]);
|
2213
|
-
smalltalk.send(arguments,"_do_separatedBy_",[(function(each){
|
2214
|
-
return smalltalk.send(each,"_emitOn_",[self]);
|
2215
|
-
}),(function(){
|
2216
|
-
return smalltalk.send(self["@stream"],"_nextPutAll_",[","]);
|
2217
|
-
})]);
|
2218
|
-
smalltalk.send(self["@stream"],"_nextPutAll_",["])"]);
|
2219
|
-
return self}
|
2501
|
+
return smalltalk.withContext(function($ctx1) {
|
2502
|
+
_st(aBlock)._value();
|
2503
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutReturnWith:",{aBlock:aBlock}, smalltalk.JSStream)})}
|
2220
2504
|
}),
|
2221
2505
|
smalltalk.JSStream);
|
2222
2506
|
|
@@ -2226,8 +2510,8 @@ smalltalk.method({
|
|
2226
2510
|
selector: "nextPutSequenceWith:",
|
2227
2511
|
fn: function (aBlock){
|
2228
2512
|
var self=this;
|
2229
|
-
smalltalk.
|
2230
|
-
return self}
|
2513
|
+
return smalltalk.withContext(function($ctx1) {
|
2514
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutSequenceWith:",{aBlock:aBlock}, smalltalk.JSStream)})}
|
2231
2515
|
}),
|
2232
2516
|
smalltalk.JSStream);
|
2233
2517
|
|
@@ -2237,13 +2521,15 @@ smalltalk.method({
|
|
2237
2521
|
selector: "nextPutStatement:with:",
|
2238
2522
|
fn: function (anInteger,aBlock){
|
2239
2523
|
var self=this;
|
2240
|
-
|
2241
|
-
|
2242
|
-
$1
|
2243
|
-
|
2244
|
-
|
2245
|
-
$
|
2246
|
-
|
2524
|
+
return smalltalk.withContext(function($ctx1) {
|
2525
|
+
$1=self["@stream"];
|
2526
|
+
_st($1)._nextPutAll_(_st(_st("case ").__comma(_st(anInteger)._asString())).__comma(":"));
|
2527
|
+
$2=_st($1)._lf();
|
2528
|
+
_st(self)._nextPutStatementWith_(aBlock);
|
2529
|
+
$3=self["@stream"];
|
2530
|
+
_st($3)._nextPutAll_(_st(_st("smalltalk.thisContext.pc=").__comma(_st(_st(anInteger).__plus((1)))._asString())).__comma(";"));
|
2531
|
+
$4=_st($3)._lf();
|
2532
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutStatement:with:",{anInteger:anInteger,aBlock:aBlock}, smalltalk.JSStream)})}
|
2247
2533
|
}),
|
2248
2534
|
smalltalk.JSStream);
|
2249
2535
|
|
@@ -2253,11 +2539,12 @@ smalltalk.method({
|
|
2253
2539
|
selector: "nextPutStatementWith:",
|
2254
2540
|
fn: function (aBlock){
|
2255
2541
|
var self=this;
|
2256
|
-
|
2257
|
-
|
2258
|
-
|
2259
|
-
$1
|
2260
|
-
|
2542
|
+
return smalltalk.withContext(function($ctx1) {
|
2543
|
+
_st(aBlock)._value();
|
2544
|
+
$1=self["@stream"];
|
2545
|
+
_st($1)._nextPutAll_(";");
|
2546
|
+
$2=_st($1)._lf();
|
2547
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutStatementWith:",{aBlock:aBlock}, smalltalk.JSStream)})}
|
2261
2548
|
}),
|
2262
2549
|
smalltalk.JSStream);
|
2263
2550
|
|
@@ -2267,10 +2554,11 @@ smalltalk.method({
|
|
2267
2554
|
selector: "nextPutVar:",
|
2268
2555
|
fn: function (aString){
|
2269
2556
|
var self=this;
|
2270
|
-
|
2271
|
-
|
2272
|
-
$1
|
2273
|
-
|
2557
|
+
return smalltalk.withContext(function($ctx1) {
|
2558
|
+
$1=self["@stream"];
|
2559
|
+
_st($1)._nextPutAll_(_st(_st("var ").__comma(aString)).__comma(";"));
|
2560
|
+
$2=_st($1)._lf();
|
2561
|
+
return self}, function($ctx1) {$ctx1.fill(self,"nextPutVar:",{aString:aString}, smalltalk.JSStream)})}
|
2274
2562
|
}),
|
2275
2563
|
smalltalk.JSStream);
|
2276
2564
|
|
@@ -2280,16 +2568,25 @@ smalltalk.method({
|
|
2280
2568
|
selector: "nextPutVars:",
|
2281
2569
|
fn: function (aCollection){
|
2282
2570
|
var self=this;
|
2283
|
-
|
2284
|
-
|
2285
|
-
|
2286
|
-
|
2287
|
-
|
2288
|
-
|
2289
|
-
})
|
2290
|
-
|
2291
|
-
|
2571
|
+
return smalltalk.withContext(function($ctx1) {
|
2572
|
+
var $early={};
|
2573
|
+
try {
|
2574
|
+
_st(aCollection)._ifEmpty_((function(){
|
2575
|
+
return smalltalk.withContext(function($ctx2) {
|
2576
|
+
throw $early=[$1];
|
2577
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
2578
|
+
_st(self["@stream"])._nextPutAll_("var ");
|
2579
|
+
_st(aCollection)._do_separatedBy_((function(each){
|
2580
|
+
return smalltalk.withContext(function($ctx2) {
|
2581
|
+
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
|
2582
|
+
return smalltalk.withContext(function($ctx2) {
|
2583
|
+
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
2584
|
+
$2=self["@stream"];
|
2585
|
+
_st($2)._nextPutAll_(";");
|
2586
|
+
$3=_st($2)._lf();
|
2292
2587
|
return self}
|
2588
|
+
catch(e) {if(e===$early)return e[0]; throw e}
|
2589
|
+
}, function($ctx1) {$ctx1.fill(self,"nextPutVars:",{aCollection:aCollection}, smalltalk.JSStream)})}
|
2293
2590
|
}),
|
2294
2591
|
smalltalk.JSStream);
|
2295
2592
|
|
@@ -2301,8 +2598,8 @@ smalltalk.method({
|
|
2301
2598
|
selector: "appendToInstruction:",
|
2302
2599
|
fn: function (anIRInstruction){
|
2303
2600
|
var self=this;
|
2304
|
-
smalltalk.
|
2305
|
-
return self}
|
2601
|
+
return smalltalk.withContext(function($ctx1) {
|
2602
|
+
return self}, function($ctx1) {$ctx1.fill(self,"appendToInstruction:",{anIRInstruction:anIRInstruction}, smalltalk.BlockClosure)})}
|
2306
2603
|
}),
|
2307
2604
|
smalltalk.BlockClosure);
|
2308
2605
|
|
@@ -2312,15 +2609,15 @@ smalltalk.method({
|
|
2312
2609
|
selector: "asVariableName",
|
2313
2610
|
fn: function (){
|
2314
2611
|
var self=this;
|
2315
|
-
|
2316
|
-
$2=
|
2612
|
+
return smalltalk.withContext(function($ctx1) {
|
2613
|
+
$2=_st(_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._reservedWords())._includes_(self);
|
2317
2614
|
if(smalltalk.assert($2)){
|
2318
|
-
$1=
|
2615
|
+
$1=_st(self).__comma("_");
|
2319
2616
|
} else {
|
2320
2617
|
$1=self;
|
2321
2618
|
};
|
2322
2619
|
return $1;
|
2323
|
-
}
|
2620
|
+
}, function($ctx1) {$ctx1.fill(self,"asVariableName",{}, smalltalk.String)})}
|
2324
2621
|
}),
|
2325
2622
|
smalltalk.String);
|
2326
2623
|
|