Просмотр исходного кода

NodeVisitor all methods call visitNode:

Conflicts:

	st/Compiler.st
Herbert Vojčík 12 лет назад
Родитель
Сommit
7f18d7b921
3 измененных файлов с 20 добавлено и 24 удалено
  1. 4 4
      js/Compiler.deploy.js
  2. 12 12
      js/Compiler.js
  3. 4 8
      st/Compiler.st

+ 4 - 4
js/Compiler.deploy.js

@@ -1046,7 +1046,7 @@ smalltalk.method({
 selector: unescape('visitBlockSequenceNode%3A'),
 fn: function (aNode) {
 var self=this;
-smalltalk.send(self, "_visitSequenceNode_", [aNode]);
+smalltalk.send(self, "_visitNode_", [aNode]);
 return self;}
 }),
 smalltalk.NodeVisitor);
@@ -1068,7 +1068,7 @@ smalltalk.method({
 selector: unescape('visitClassReferenceNode%3A'),
 fn: function (aNode) {
 var self=this;
-(function($rec){smalltalk.send($rec, "_nextPutAll_", ["smalltalk."]);return smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(aNode, "_value", [])]);})(self);
+smalltalk.send(self, "_visitNode_", [aNode]);
 return self;}
 }),
 smalltalk.NodeVisitor);
@@ -1101,7 +1101,7 @@ smalltalk.method({
 selector: unescape('visitJSStatementNode%3A'),
 fn: function (aNode) {
 var self=this;
-(function($rec){smalltalk.send($rec, "_nextPutAll_", [unescape("function%28%29%7B")]);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(aNode, "_source", [])]);return smalltalk.send($rec, "_nextPutAll_", [unescape("%7D%29%28%29")]);})(self);
+smalltalk.send(self, "_visitNode_", [aNode]);
 return self;}
 }),
 smalltalk.NodeVisitor);
@@ -1178,7 +1178,7 @@ smalltalk.method({
 selector: unescape('visitVariableNode%3A'),
 fn: function (aNode) {
 var self=this;
-
+smalltalk.send(self, "_visitNode_", [aNode]);
 return self;}
 }),
 smalltalk.NodeVisitor);

+ 12 - 12
js/Compiler.js

@@ -1472,11 +1472,11 @@ selector: unescape('visitBlockSequenceNode%3A'),
 category: 'visiting',
 fn: function (aNode) {
 var self=this;
-smalltalk.send(self, "_visitSequenceNode_", [aNode]);
+smalltalk.send(self, "_visitNode_", [aNode]);
 return self;},
 args: ["aNode"],
-source: unescape('visitBlockSequenceNode%3A%20aNode%0A%09self%20visitSequenceNode%3A%20aNode'),
-messageSends: ["visitSequenceNode:"],
+source: unescape('visitBlockSequenceNode%3A%20aNode%0A%09self%20visitNode%3A%20aNode'),
+messageSends: ["visitNode:"],
 referencedClasses: []
 }),
 smalltalk.NodeVisitor);
@@ -1504,11 +1504,11 @@ selector: unescape('visitClassReferenceNode%3A'),
 category: 'visiting',
 fn: function (aNode) {
 var self=this;
-(function($rec){smalltalk.send($rec, "_nextPutAll_", ["smalltalk."]);return smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(aNode, "_value", [])]);})(self);
+smalltalk.send(self, "_visitNode_", [aNode]);
 return self;},
 args: ["aNode"],
-source: unescape('visitClassReferenceNode%3A%20aNode%0A%09self%20%0A%09%20%20%20%20nextPutAll%3A%20%27smalltalk.%27%3B%0A%09%20%20%20%20nextPutAll%3A%20aNode%20value'),
-messageSends: ["nextPutAll:", "value"],
+source: unescape('visitClassReferenceNode%3A%20aNode%0A%09self%20visitNode%3A%20aNode'),
+messageSends: ["visitNode:"],
 referencedClasses: []
 }),
 smalltalk.NodeVisitor);
@@ -1552,11 +1552,11 @@ selector: unescape('visitJSStatementNode%3A'),
 category: 'visiting',
 fn: function (aNode) {
 var self=this;
-(function($rec){smalltalk.send($rec, "_nextPutAll_", [unescape("function%28%29%7B")]);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(aNode, "_source", [])]);return smalltalk.send($rec, "_nextPutAll_", [unescape("%7D%29%28%29")]);})(self);
+smalltalk.send(self, "_visitNode_", [aNode]);
 return self;},
 args: ["aNode"],
-source: unescape('visitJSStatementNode%3A%20aNode%0A%09self%20%0A%09%20%20%20%20nextPutAll%3A%20%27function%28%29%7B%27%3B%0A%09%20%20%20%20nextPutAll%3A%20aNode%20source%3B%0A%09%20%20%20%20nextPutAll%3A%20%27%7D%29%28%29%27'),
-messageSends: ["nextPutAll:", "source"],
+source: unescape('visitJSStatementNode%3A%20aNode%0A%09self%20visitNode%3A%20aNode'),
+messageSends: ["visitNode:"],
 referencedClasses: []
 }),
 smalltalk.NodeVisitor);
@@ -1664,11 +1664,11 @@ selector: unescape('visitVariableNode%3A'),
 category: 'visiting',
 fn: function (aNode) {
 var self=this;
-
+smalltalk.send(self, "_visitNode_", [aNode]);
 return self;},
 args: ["aNode"],
-source: unescape('visitVariableNode%3A%20aNode'),
-messageSends: [],
+source: unescape('visitVariableNode%3A%20aNode%0A%09self%20visitNode%3A%20aNode'),
+messageSends: ["visitNode:"],
 referencedClasses: []
 }),
 smalltalk.NodeVisitor);

+ 4 - 8
st/Compiler.st

@@ -732,7 +732,7 @@ visitBlockNode: aNode
 !
 
 visitBlockSequenceNode: aNode
-	self visitSequenceNode: aNode
+	self visitNode: aNode
 !
 
 visitCascadeNode: aNode
@@ -740,9 +740,7 @@ visitCascadeNode: aNode
 !
 
 visitClassReferenceNode: aNode
-	self 
-	    nextPutAll: 'smalltalk.';
-	    nextPutAll: aNode value
+	self visitNode: aNode
 !
 
 visitDynamicArrayNode: aNode
@@ -754,10 +752,7 @@ visitDynamicDictionaryNode: aNode
 !
 
 visitJSStatementNode: aNode
-	self 
-	    nextPutAll: 'function(){';
-	    nextPutAll: aNode source;
-	    nextPutAll: '})()'
+	self visitNode: aNode
 !
 
 visitMethodNode: aNode
@@ -784,6 +779,7 @@ visitValueNode: aNode
 !
 
 visitVariableNode: aNode
+	self visitNode: aNode
 ! !
 
 NodeVisitor subclass: #Compiler