@@ -32,6 +32,10 @@ class ToVisit(NamedTuple):
3232
3333
3434class GenericVisitor (NodeVisitor ):
35+ """ A slightly different visitor, that just traverses an AST, but does not return
36+ a translation of it. Used to examine the AST or do transformations
37+ """
38+
3539 @property
3640 def O_LEVEL (self ):
3741 return OPTIONS .optimization_level
@@ -168,28 +172,28 @@ def _set_children_as_accessed(self, node: symbols.SYMBOL):
168172 for symbol in self ._get_calls_from_children (node ):
169173 symbol .entry .accessed = True
170174
171- def visit_FUNCCALL (self , node : symbols .SYMBOL ):
175+ def visit_FUNCCALL (self , node : symbols .FUNCCALL ):
172176 self ._set_children_as_accessed (node )
173177 yield node
174178
175- def visit_CALL (self , node : symbols .SYMBOL ):
179+ def visit_CALL (self , node : symbols .CALL ):
176180 self ._set_children_as_accessed (node )
177181 yield node
178182
179- def visit_FUNCDECL (self , node : symbols .SYMBOL ):
183+ def visit_FUNCDECL (self , node : symbols .FUNCDECL ):
180184 if node .entry .accessed :
181185 for symbol in self ._get_calls_from_children (node ):
182186 symbol .entry .accessed = True
183187
184188 yield node
185189
186- def visit_GOTO (self , node : symbols .SYMBOL ):
190+ def visit_GOTO (self , node : symbols .SENTENCE ):
187191 parent = node .get_parent (symbols .FUNCDECL )
188192 if parent is None : # Global scope?
189193 node .args [0 ].accessed = True
190194 yield node
191195
192- def visit_GOSUB (self , node : symbols .SYMBOL ):
196+ def visit_GOSUB (self , node : symbols .SENTENCE ):
193197 return self .visit_GOTO (node )
194198
195199
0 commit comments