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