|
@@ -557,11 +557,15 @@ function $IRMethod(){return globals.IRMethod||(typeof IRMethod=="undefined"?nil:
|
|
|
function $IRTempDeclaration(){return globals.IRTempDeclaration||(typeof IRTempDeclaration=="undefined"?nil:IRTempDeclaration)}
|
|
|
function $IRReturn(){return globals.IRReturn||(typeof IRReturn=="undefined"?nil:IRReturn)}
|
|
|
function $IRVariable(){return globals.IRVariable||(typeof IRVariable=="undefined"?nil:IRVariable)}
|
|
|
+function $IRVerbatim(){return globals.IRVerbatim||(typeof IRVerbatim=="undefined"?nil:IRVerbatim)}
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
return smalltalk.withContext(function($ctx1) {
|
|
|
-var $2,$3,$4,$5,$1,$7,$6,$8,$10,$11,$12,$13,$9,$14,$16,$15,$18,$19,$17,$20,$21,$22;
|
|
|
+//>>excludeEnd("ctx");
|
|
|
+var $2,$3,$4,$5,$1,$7,$6,$8,$10,$11,$12,$13,$9,$14,$16,$15,$17,$18,$20,$21,$23,$24,$22,$25,$19,$27,$28,$26,$29;
|
|
|
$2=_st($IRMethod())._new();
|
|
|
$ctx1.sendIdx["new"]=1;
|
|
|
_st($2)._source_(_st(self._source())._crlfSanitized());
|
|
|
+$ctx1.sendIdx["source:"]=1;
|
|
|
_st($2)._theClass_(self._theClass());
|
|
|
_st($2)._arguments_(_st(aNode)._arguments());
|
|
|
_st($2)._selector_(_st(aNode)._selector());
|
|
@@ -582,7 +586,9 @@ $7=_st(aNode)._scope();
|
|
|
$ctx1.sendIdx["scope"]=2;
|
|
|
$6=_st($7)._temps();
|
|
|
_st($6)._do_((function(each){
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
+//>>excludeEnd("ctx", pragmas.excludeDebugContexts);
|
|
|
$8=self._method();
|
|
|
$ctx2.sendIdx["method"]=1;
|
|
|
$10=_st($IRTempDeclaration())._new();
|
|
@@ -597,40 +603,62 @@ $ctx2.sendIdx["yourself"]=2;
|
|
|
$9=$13;
|
|
|
return _st($8)._add_($9);
|
|
|
$ctx2.sendIdx["add:"]=1;
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
|
|
|
+//>>excludeEnd("ctx");
|
|
|
}));
|
|
|
$ctx1.sendIdx["do:"]=1;
|
|
|
_st(_st(aNode)._nodes())._do_((function(each){
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
+//>>excludeEnd("ctx", pragmas.excludeDebugContexts);
|
|
|
$14=self._method();
|
|
|
$ctx2.sendIdx["method"]=2;
|
|
|
return _st($14)._add_(self._visit_(each));
|
|
|
$ctx2.sendIdx["add:"]=2;
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)});
|
|
|
+//>>excludeEnd("ctx");
|
|
|
}));
|
|
|
$16=_st(aNode)._scope();
|
|
|
$ctx1.sendIdx["scope"]=4;
|
|
|
$15=_st($16)._hasLocalReturn();
|
|
|
if(! smalltalk.assert($15)){
|
|
|
-$18=self._method();
|
|
|
+$17=self._method();
|
|
|
$ctx1.sendIdx["method"]=3;
|
|
|
-$19=_st($IRReturn())._new();
|
|
|
+$18=$17;
|
|
|
+$20=_st($IRReturn())._new();
|
|
|
$ctx1.sendIdx["new"]=3;
|
|
|
-$17=_st($18)._add_($19);
|
|
|
-$20=_st($IRVariable())._new();
|
|
|
-_st($20)._variable_(_st(_st(_st(aNode)._scope())._pseudoVars())._at_("self"));
|
|
|
-$21=_st($20)._yourself();
|
|
|
-_st($17)._add_($21);
|
|
|
+$21=$20;
|
|
|
+$23=_st($IRVariable())._new();
|
|
|
+$ctx1.sendIdx["new"]=4;
|
|
|
+_st($23)._variable_(_st(_st(_st(aNode)._scope())._pseudoVars())._at_("self"));
|
|
|
+$24=_st($23)._yourself();
|
|
|
+$ctx1.sendIdx["yourself"]=3;
|
|
|
+$22=$24;
|
|
|
+_st($21)._add_($22);
|
|
|
+$ctx1.sendIdx["add:"]=4;
|
|
|
+$25=_st($20)._yourself();
|
|
|
+$ctx1.sendIdx["yourself"]=4;
|
|
|
+$19=$25;
|
|
|
+_st($18)._add_($19);
|
|
|
$ctx1.sendIdx["add:"]=3;
|
|
|
+$27=_st($IRVerbatim())._new();
|
|
|
+_st($27)._source_("");
|
|
|
+$28=_st($27)._yourself();
|
|
|
+$26=_st($17)._add_($28);
|
|
|
+$26;
|
|
|
};
|
|
|
-$22=self._method();
|
|
|
-return $22;
|
|
|
+$29=self._method();
|
|
|
+return $29;
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
}, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},globals.IRASTTranslator)});
|
|
|
+//>>excludeEnd("ctx");
|
|
|
},
|
|
|
args: ["aNode"],
|
|
|
-source: "visitMethodNode: aNode\x0a\x0a\x09self method: (IRMethod new\x0a\x09\x09source: self source crlfSanitized;\x0a\x09\x09theClass: self theClass;\x0a\x09\x09arguments: aNode arguments;\x0a\x09\x09selector: aNode selector;\x0a\x09\x09sendIndexes: aNode sendIndexes;\x0a\x09\x09superSends: aNode superSends;\x0a\x09\x09requiresSmalltalkContext: aNode requiresSmalltalkContext;\x0a\x09\x09classReferences: aNode classReferences;\x0a\x09\x09scope: aNode scope;\x0a\x09\x09yourself).\x0a\x0a\x09aNode scope temps do: [ :each |\x0a\x09\x09self method add: (IRTempDeclaration new\x0a\x09\x09\x09name: each name;\x0a\x09\x09\x09scope: aNode scope;\x0a\x09\x09\x09yourself) ].\x0a\x0a\x09aNode nodes do: [ :each | self method add: (self visit: each) ].\x0a\x0a\x09aNode scope hasLocalReturn ifFalse: [\x0a\x09\x09(self method add: IRReturn new) add: (IRVariable new\x0a\x09\x09\x09variable: (aNode scope pseudoVars at: 'self');\x0a\x09\x09\x09yourself) ].\x0a\x0a\x09^ self method",
|
|
|
+source: "visitMethodNode: aNode\x0a\x0a\x09self method: (IRMethod new\x0a\x09\x09source: self source crlfSanitized;\x0a\x09\x09theClass: self theClass;\x0a\x09\x09arguments: aNode arguments;\x0a\x09\x09selector: aNode selector;\x0a\x09\x09sendIndexes: aNode sendIndexes;\x0a\x09\x09superSends: aNode superSends;\x0a\x09\x09requiresSmalltalkContext: aNode requiresSmalltalkContext;\x0a\x09\x09classReferences: aNode classReferences;\x0a\x09\x09scope: aNode scope;\x0a\x09\x09yourself).\x0a\x0a\x09aNode scope temps do: [ :each |\x0a\x09\x09self method add: (IRTempDeclaration new\x0a\x09\x09\x09name: each name;\x0a\x09\x09\x09scope: aNode scope;\x0a\x09\x09\x09yourself) ].\x0a\x0a\x09aNode nodes do: [ :each | self method add: (self visit: each) ].\x0a\x0a\x09aNode scope hasLocalReturn ifFalse: [self method\x0a\x09\x09add: (IRReturn new\x0a\x09\x09\x09add: (IRVariable new\x0a\x09\x09\x09\x09variable: (aNode scope pseudoVars at: 'self');\x0a\x09\x09\x09\x09yourself);\x0a\x09\x09\x09yourself);\x0a\x09\x09add: (IRVerbatim new source: ''; yourself) ].\x0a\x0a\x09^ self method",
|
|
|
messageSends: ["method:", "source:", "new", "crlfSanitized", "source", "theClass:", "theClass", "arguments:", "arguments", "selector:", "selector", "sendIndexes:", "sendIndexes", "superSends:", "superSends", "requiresSmalltalkContext:", "requiresSmalltalkContext", "classReferences:", "classReferences", "scope:", "scope", "yourself", "do:", "temps", "add:", "method", "name:", "name", "nodes", "visit:", "ifFalse:", "hasLocalReturn", "variable:", "at:", "pseudoVars"],
|
|
|
-referencedClasses: ["IRMethod", "IRTempDeclaration", "IRReturn", "IRVariable"]
|
|
|
+referencedClasses: ["IRMethod", "IRTempDeclaration", "IRReturn", "IRVariable", "IRVerbatim"]
|
|
|
}),
|
|
|
globals.IRASTTranslator);
|
|
|
|
|
@@ -3710,14 +3738,20 @@ selector: "nextPutBlockContextFor:during:",
|
|
|
protocol: 'streaming',
|
|
|
fn: function (anIRClosure,aBlock){
|
|
|
var self=this;
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
return smalltalk.withContext(function($ctx1) {
|
|
|
-var $1,$2,$6,$5,$4,$3,$7,$11,$10,$9,$8,$15,$14,$13,$12,$16,$17,$24,$23,$22,$21,$20,$19,$18;
|
|
|
+//>>excludeEnd("ctx");
|
|
|
+var $1,$2,$6,$5,$4,$3,$7,$11,$10,$9,$8,$15,$14,$13,$12,$16,$17,$23,$22,$21,$20,$19,$18,$24;
|
|
|
$1=_st(anIRClosure)._requiresSmalltalkContext();
|
|
|
if(! smalltalk.assert($1)){
|
|
|
$2=_st(aBlock)._value();
|
|
|
$ctx1.sendIdx["value"]=1;
|
|
|
return $2;
|
|
|
};
|
|
|
+self._nextPutAll_("//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);");
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=1;
|
|
|
+self._lf();
|
|
|
+$ctx1.sendIdx["lf"]=1;
|
|
|
$6=_st(anIRClosure)._scope();
|
|
|
$ctx1.sendIdx["scope"]=1;
|
|
|
$5=_st($6)._alias();
|
|
@@ -3727,9 +3761,18 @@ $ctx1.sendIdx[","]=2;
|
|
|
$3=_st($4).__comma(") {");
|
|
|
$ctx1.sendIdx[","]=1;
|
|
|
self._nextPutAll_($3);
|
|
|
-$ctx1.sendIdx["nextPutAll:"]=1;
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=2;
|
|
|
+self._lf();
|
|
|
+$ctx1.sendIdx["lf"]=2;
|
|
|
+self._nextPutAll_("//>>excludeEnd(\x22ctx\x22);");
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=3;
|
|
|
$7=self._lf();
|
|
|
+$ctx1.sendIdx["lf"]=3;
|
|
|
_st(aBlock)._value();
|
|
|
+self._nextPutAll_("//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);");
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=4;
|
|
|
+self._lf();
|
|
|
+$ctx1.sendIdx["lf"]=4;
|
|
|
$11=_st(anIRClosure)._scope();
|
|
|
$ctx1.sendIdx["scope"]=2;
|
|
|
$10=_st($11)._alias();
|
|
@@ -3739,7 +3782,7 @@ $ctx1.sendIdx[","]=4;
|
|
|
$8=_st($9).__comma(") {");
|
|
|
$ctx1.sendIdx[","]=3;
|
|
|
self._nextPutAll_($8);
|
|
|
-$ctx1.sendIdx["nextPutAll:"]=2;
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=5;
|
|
|
$15=_st(anIRClosure)._scope();
|
|
|
$ctx1.sendIdx["scope"]=3;
|
|
|
$14=_st($15)._alias();
|
|
@@ -3747,42 +3790,56 @@ $ctx1.sendIdx["alias"]=3;
|
|
|
$13=_st($14).__comma(".fillBlock({");
|
|
|
$ctx1.sendIdx[","]=5;
|
|
|
$12=self._nextPutAll_($13);
|
|
|
-$ctx1.sendIdx["nextPutAll:"]=3;
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=6;
|
|
|
_st(_st(anIRClosure)._locals())._do_separatedBy_((function(each){
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
+//>>excludeEnd("ctx", pragmas.excludeDebugContexts);
|
|
|
$16=_st(each)._asVariableName();
|
|
|
$ctx2.sendIdx["asVariableName"]=1;
|
|
|
self._nextPutAll_($16);
|
|
|
-$ctx2.sendIdx["nextPutAll:"]=4;
|
|
|
+$ctx2.sendIdx["nextPutAll:"]=7;
|
|
|
self._nextPutAll_(":");
|
|
|
-$ctx2.sendIdx["nextPutAll:"]=5;
|
|
|
+$ctx2.sendIdx["nextPutAll:"]=8;
|
|
|
$17=self._nextPutAll_(_st(each)._asVariableName());
|
|
|
-$ctx2.sendIdx["nextPutAll:"]=6;
|
|
|
+$ctx2.sendIdx["nextPutAll:"]=9;
|
|
|
return $17;
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)});
|
|
|
+//>>excludeEnd("ctx");
|
|
|
}),(function(){
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
+//>>excludeEnd("ctx", pragmas.excludeDebugContexts);
|
|
|
return self._nextPutAll_(",");
|
|
|
-$ctx2.sendIdx["nextPutAll:"]=7;
|
|
|
+$ctx2.sendIdx["nextPutAll:"]=10;
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
}, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)});
|
|
|
+//>>excludeEnd("ctx");
|
|
|
}));
|
|
|
self._nextPutAll_("},");
|
|
|
-$ctx1.sendIdx["nextPutAll:"]=8;
|
|
|
-$24=_st(anIRClosure)._scope();
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=11;
|
|
|
+$23=_st(anIRClosure)._scope();
|
|
|
$ctx1.sendIdx["scope"]=4;
|
|
|
-$23=_st($24)._outerScope();
|
|
|
-$22=_st($23)._alias();
|
|
|
-$21=_st($22).__comma(",");
|
|
|
-$20=_st($21).__comma(_st(_st(_st(anIRClosure)._scope())._blockIndex())._asString());
|
|
|
+$22=_st($23)._outerScope();
|
|
|
+$21=_st($22)._alias();
|
|
|
+$20=_st($21).__comma(",");
|
|
|
+$19=_st($20).__comma(_st(_st(_st(anIRClosure)._scope())._blockIndex())._asString());
|
|
|
$ctx1.sendIdx[","]=7;
|
|
|
-$19=_st($20).__comma(")});");
|
|
|
+$18=_st($19).__comma(")});");
|
|
|
$ctx1.sendIdx[","]=6;
|
|
|
-$18=self._nextPutAll_($19);
|
|
|
-return self}, function($ctx1) {$ctx1.fill(self,"nextPutBlockContextFor:during:",{anIRClosure:anIRClosure,aBlock:aBlock},globals.JSStream)});
|
|
|
+self._nextPutAll_($18);
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=12;
|
|
|
+self._lf();
|
|
|
+$24=self._nextPutAll_("//>>excludeEnd(\x22ctx\x22);");
|
|
|
+return self;
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"nextPutBlockContextFor:during:",{anIRClosure:anIRClosure,aBlock:aBlock},globals.JSStream)});
|
|
|
+//>>excludeEnd("ctx");
|
|
|
},
|
|
|
args: ["anIRClosure", "aBlock"],
|
|
|
-source: "nextPutBlockContextFor: anIRClosure during: aBlock\x0a\x09anIRClosure requiresSmalltalkContext ifFalse: [ ^ aBlock value ].\x0a\x09self\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', anIRClosure scope alias, ') {'; lf.\x0a\x09\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '}, function(', anIRClosure scope alias, ') {';\x0a\x09\x09nextPutAll: anIRClosure scope alias, '.fillBlock({'.\x0a\x09\x0a\x09anIRClosure locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: anIRClosure scope outerScope alias, ',', anIRClosure scope blockIndex asString, ')});'",
|
|
|
-messageSends: ["ifFalse:", "requiresSmalltalkContext", "value", "nextPutAll:", ",", "alias", "scope", "lf", "do:separatedBy:", "locals", "asVariableName", "outerScope", "asString", "blockIndex"],
|
|
|
+source: "nextPutBlockContextFor: anIRClosure during: aBlock\x0a\x09anIRClosure requiresSmalltalkContext ifFalse: [ ^ aBlock value ].\x0a\x09self\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', anIRClosure scope alias, ') {';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);';\x0a\x09\x09lf.\x0a\x09\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: '}, function(', anIRClosure scope alias, ') {';\x0a\x09\x09nextPutAll: anIRClosure scope alias, '.fillBlock({'.\x0a\x09\x0a\x09anIRClosure locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: anIRClosure scope outerScope alias, ',', anIRClosure scope blockIndex asString, ')});';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'",
|
|
|
+messageSends: ["ifFalse:", "requiresSmalltalkContext", "value", "nextPutAll:", "lf", ",", "alias", "scope", "do:separatedBy:", "locals", "asVariableName", "outerScope", "asString", "blockIndex"],
|
|
|
referencedClasses: []
|
|
|
}),
|
|
|
globals.JSStream);
|
|
@@ -3875,6 +3932,10 @@ $2=_st(aBlock)._value();
|
|
|
$ctx1.sendIdx["value"]=1;
|
|
|
return $2;
|
|
|
};
|
|
|
+self._nextPutAll_("//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);");
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=1;
|
|
|
+self._lf();
|
|
|
+$ctx1.sendIdx["lf"]=1;
|
|
|
$6=_st(aMethod)._scope();
|
|
|
$ctx1.sendIdx["scope"]=1;
|
|
|
$5=_st($6)._alias();
|
|
@@ -3884,9 +3945,18 @@ $ctx1.sendIdx[","]=2;
|
|
|
$3=_st($4).__comma(") { ");
|
|
|
$ctx1.sendIdx[","]=1;
|
|
|
self._nextPutAll_($3);
|
|
|
-$ctx1.sendIdx["nextPutAll:"]=1;
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=2;
|
|
|
+self._lf();
|
|
|
+$ctx1.sendIdx["lf"]=2;
|
|
|
+self._nextPutAll_("//>>excludeEnd(\x22ctx\x22);");
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=3;
|
|
|
$7=self._lf();
|
|
|
+$ctx1.sendIdx["lf"]=3;
|
|
|
_st(aBlock)._value();
|
|
|
+self._nextPutAll_("//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);");
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=4;
|
|
|
+self._lf();
|
|
|
+$ctx1.sendIdx["lf"]=4;
|
|
|
$12=_st(aMethod)._scope();
|
|
|
$ctx1.sendIdx["scope"]=2;
|
|
|
$11=_st($12)._alias();
|
|
@@ -3898,42 +3968,53 @@ $ctx1.sendIdx[","]=4;
|
|
|
$8=_st($9).__comma(_st(_st(aMethod)._scope())._alias());
|
|
|
$ctx1.sendIdx[","]=3;
|
|
|
self._nextPutAll_($8);
|
|
|
-$ctx1.sendIdx["nextPutAll:"]=2;
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=5;
|
|
|
$16=_st(_st(aMethod)._selector())._asJavascript();
|
|
|
$ctx1.sendIdx["asJavascript"]=1;
|
|
|
$15=".fill(self,".__comma($16);
|
|
|
$14=_st($15).__comma(",{");
|
|
|
$ctx1.sendIdx[","]=6;
|
|
|
$13=self._nextPutAll_($14);
|
|
|
-$ctx1.sendIdx["nextPutAll:"]=3;
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=6;
|
|
|
_st(_st(aMethod)._locals())._do_separatedBy_((function(each){
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
+//>>excludeEnd("ctx", pragmas.excludeDebugContexts);
|
|
|
$17=_st(each)._asVariableName();
|
|
|
$ctx2.sendIdx["asVariableName"]=1;
|
|
|
self._nextPutAll_($17);
|
|
|
-$ctx2.sendIdx["nextPutAll:"]=4;
|
|
|
+$ctx2.sendIdx["nextPutAll:"]=7;
|
|
|
self._nextPutAll_(":");
|
|
|
-$ctx2.sendIdx["nextPutAll:"]=5;
|
|
|
+$ctx2.sendIdx["nextPutAll:"]=8;
|
|
|
$18=self._nextPutAll_(_st(each)._asVariableName());
|
|
|
-$ctx2.sendIdx["nextPutAll:"]=6;
|
|
|
+$ctx2.sendIdx["nextPutAll:"]=9;
|
|
|
return $18;
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)});
|
|
|
+//>>excludeEnd("ctx");
|
|
|
}),(function(){
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
+//>>excludeEnd("ctx", pragmas.excludeDebugContexts);
|
|
|
return self._nextPutAll_(",");
|
|
|
-$ctx2.sendIdx["nextPutAll:"]=7;
|
|
|
+$ctx2.sendIdx["nextPutAll:"]=10;
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
}, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)});
|
|
|
+//>>excludeEnd("ctx");
|
|
|
}));
|
|
|
self._nextPutAll_("},");
|
|
|
-$ctx1.sendIdx["nextPutAll:"]=8;
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=11;
|
|
|
self._nextPutAll_(_st(_st(aMethod)._theClass())._asJavascript());
|
|
|
-$ctx1.sendIdx["nextPutAll:"]=9;
|
|
|
-$19=self._nextPutAll_(")});");
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=12;
|
|
|
+self._nextPutAll_(")});");
|
|
|
+$ctx1.sendIdx["nextPutAll:"]=13;
|
|
|
+self._lf();
|
|
|
+$19=self._nextPutAll_("//>>excludeEnd(\x22ctx\x22);");
|
|
|
return self}, function($ctx1) {$ctx1.fill(self,"nextPutContextFor:during:",{aMethod:aMethod,aBlock:aBlock},globals.JSStream)});
|
|
|
},
|
|
|
args: ["aMethod", "aBlock"],
|
|
|
-source: "nextPutContextFor: aMethod during: aBlock\x0a\x09aMethod requiresSmalltalkContext ifFalse: [ ^ aBlock value ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', aMethod scope alias, ') { '; lf.\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '}, function(', aMethod scope alias, ') {', aMethod scope alias;\x0a\x09\x09nextPutAll: '.fill(self,', aMethod selector asJavascript, ',{'.\x0a\x0a\x09aMethod locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: aMethod theClass asJavascript;\x0a\x09\x09nextPutAll: ')});'",
|
|
|
-messageSends: ["ifFalse:", "requiresSmalltalkContext", "value", "nextPutAll:", ",", "alias", "scope", "lf", "asJavascript", "selector", "do:separatedBy:", "locals", "asVariableName", "theClass"],
|
|
|
+source: "nextPutContextFor: aMethod during: aBlock\x0a\x09aMethod requiresSmalltalkContext ifFalse: [ ^ aBlock value ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', aMethod scope alias, ') { ';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);';\x0a\x09\x09lf.\x0a\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: '}, function(', aMethod scope alias, ') {', aMethod scope alias;\x0a\x09\x09nextPutAll: '.fill(self,', aMethod selector asJavascript, ',{'.\x0a\x0a\x09aMethod locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: aMethod theClass asJavascript;\x0a\x09\x09nextPutAll: ')});';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'",
|
|
|
+messageSends: ["ifFalse:", "requiresSmalltalkContext", "value", "nextPutAll:", "lf", ",", "alias", "scope", "asJavascript", "selector", "do:separatedBy:", "locals", "asVariableName", "theClass"],
|
|
|
referencedClasses: []
|
|
|
}),
|
|
|
globals.JSStream);
|