Browse Source

ASTPCNodeVisitor: index => trackedIndex

Herbert Vojčík 7 years ago
parent
commit
bc71bb45cf
2 changed files with 49 additions and 49 deletions
  1. 40 40
      src/Compiler-Interpreter.js
  2. 9 9
      src/Compiler-Interpreter.st

+ 40 - 40
src/Compiler-Interpreter.js

@@ -3538,7 +3538,7 @@ $globals.ASTInterpreterError.comment="I get signaled when an AST interpreter is
 //>>excludeEnd("ide");
 
 
-$core.addClass('ASTPCNodeVisitor', $globals.NodeVisitor, ['context', 'index', 'selector', 'currentNode'], 'Compiler-Interpreter');
+$core.addClass('ASTPCNodeVisitor', $globals.NodeVisitor, ['context', 'trackedIndex', 'selector', 'currentNode'], 'Compiler-Interpreter');
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.ASTPCNodeVisitor.comment="I visit an AST until I get to the current node for the `context` and answer it.\x0a\x0a## API\x0a\x0aMy instances must be filled with a context object using `#context:`.\x0a\x0aAfter visiting the AST the current node is answered by `#currentNode`";
 //>>excludeEnd("ide");
@@ -3599,55 +3599,25 @@ $globals.ASTPCNodeVisitor);
 
 $core.addMethod(
 $core.method({
-selector: "increaseIndex",
+selector: "increaseTrackedIndex",
 protocol: 'accessing',
 fn: function (){
 var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-self["@index"]=$recv(self._index()).__plus((1));
+self["@trackedIndex"]=$recv(self._trackedIndex()).__plus((1));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"increaseIndex",{},$globals.ASTPCNodeVisitor)});
+}, function($ctx1) {$ctx1.fill(self,"increaseTrackedIndex",{},$globals.ASTPCNodeVisitor)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "increaseIndex\x0a\x09index := self index + 1",
+source: "increaseTrackedIndex\x0a\x09trackedIndex := self trackedIndex + 1",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["+", "index"]
-}),
-$globals.ASTPCNodeVisitor);
-
-$core.addMethod(
-$core.method({
-selector: "index",
-protocol: 'accessing',
-fn: function (){
-var self=this;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx1) {
-//>>excludeEnd("ctx");
-var $1,$receiver;
-$1=self["@index"];
-if(($receiver = $1) == null || $receiver.isNil){
-self["@index"]=(0);
-return self["@index"];
-} else {
-return $1;
-};
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"index",{},$globals.ASTPCNodeVisitor)});
-//>>excludeEnd("ctx");
-},
-//>>excludeStart("ide", pragmas.excludeIdeData);
-args: [],
-source: "index\x0a\x09^ index ifNil: [ index := 0 ]",
-referencedClasses: [],
-//>>excludeEnd("ide");
-messageSends: ["ifNil:"]
+messageSends: ["+", "trackedIndex"]
 }),
 $globals.ASTPCNodeVisitor);
 
@@ -3688,6 +3658,36 @@ messageSends: []
 }),
 $globals.ASTPCNodeVisitor);
 
+$core.addMethod(
+$core.method({
+selector: "trackedIndex",
+protocol: 'accessing',
+fn: function (){
+var self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+var $1,$receiver;
+$1=self["@trackedIndex"];
+if(($receiver = $1) == null || $receiver.isNil){
+self["@trackedIndex"]=(0);
+return self["@trackedIndex"];
+} else {
+return $1;
+};
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"trackedIndex",{},$globals.ASTPCNodeVisitor)});
+//>>excludeEnd("ctx");
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "trackedIndex\x0a\x09^ trackedIndex ifNil: [ trackedIndex := 0 ]",
+referencedClasses: [],
+//>>excludeEnd("ide");
+messageSends: ["ifNil:"]
+}),
+$globals.ASTPCNodeVisitor);
+
 $core.addMethod(
 $core.method({
 selector: "visitJSStatementNode:",
@@ -3741,12 +3741,12 @@ $3=$recv($4).__eq($recv(aNode)._selector());
 $ctx1.sendIdx["="]=1;
 //>>excludeEnd("ctx");
 if($core.assert($3)){
-$5=$recv(self._index()).__eq(sendIndex);
+$5=$recv(self._trackedIndex()).__eq(sendIndex);
 if($core.assert($5)){
 self["@currentNode"]=aNode;
 self["@currentNode"];
 };
-self._increaseIndex();
+self._increaseTrackedIndex();
 };
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -3755,10 +3755,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aNode"],
-source: "visitSendNode: aNode\x0a\x09| sendIndex |\x0a\x09sendIndex := self context sendIndexAt: self selector.\x0a\x09\x0a\x09super visitSendNode: aNode.\x0a\x09\x0a\x09self selector = aNode selector ifTrue: [\x0a\x09\x09self index = sendIndex ifTrue: [ currentNode := aNode ].\x0a\x09\x09self increaseIndex ]",
+source: "visitSendNode: aNode\x0a\x09| sendIndex |\x0a\x09sendIndex := self context sendIndexAt: self selector.\x0a\x09\x0a\x09super visitSendNode: aNode.\x0a\x09\x0a\x09self selector = aNode selector ifTrue: [\x0a\x09\x09self trackedIndex = sendIndex ifTrue: [ currentNode := aNode ].\x0a\x09\x09self increaseTrackedIndex ]",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["sendIndexAt:", "context", "selector", "visitSendNode:", "ifTrue:", "=", "index", "increaseIndex"]
+messageSends: ["sendIndexAt:", "context", "selector", "visitSendNode:", "ifTrue:", "=", "trackedIndex", "increaseTrackedIndex"]
 }),
 $globals.ASTPCNodeVisitor);
 

+ 9 - 9
src/Compiler-Interpreter.st

@@ -913,7 +913,7 @@ Error subclass: #ASTInterpreterError
 I get signaled when an AST interpreter is unable to interpret a node.!
 
 NodeVisitor subclass: #ASTPCNodeVisitor
-	instanceVariableNames: 'context index selector currentNode'
+	instanceVariableNames: 'context trackedIndex selector currentNode'
 	package: 'Compiler-Interpreter'!
 !ASTPCNodeVisitor commentStamp!
 I visit an AST until I get to the current node for the `context` and answer it.
@@ -938,12 +938,8 @@ currentNode
 	^ currentNode
 !
 
-increaseIndex
-	index := self index + 1
-!
-
-index
-	^ index ifNil: [ index := 0 ]
+increaseTrackedIndex
+	trackedIndex := self trackedIndex + 1
 !
 
 selector
@@ -952,6 +948,10 @@ selector
 
 selector: aString
 	selector := aString
+!
+
+trackedIndex
+	^ trackedIndex ifNil: [ trackedIndex := 0 ]
 ! !
 
 !ASTPCNodeVisitor methodsFor: 'visiting'!
@@ -970,8 +970,8 @@ visitSendNode: aNode
 	super visitSendNode: aNode.
 	
 	self selector = aNode selector ifTrue: [
-		self index = sendIndex ifTrue: [ currentNode := aNode ].
-		self increaseIndex ]
+		self trackedIndex = sendIndex ifTrue: [ currentNode := aNode ].
+		self increaseTrackedIndex ]
 ! !
 
 !AssignmentNode methodsFor: '*Compiler-Interpreter'!