problems with using the Compiler module

Robert Brewer fumanchu at amor.org
Sat Feb 21 16:18:36 EST 2004


Stephen Emslie wrote:
> I am wanting to create a simple code inspector and the Compiler module
> seems to be a good starting point. However there seems to be either a
> problem with the module, or with the way that I'm using it.
> 
> once I get the AST, I want to traverse the tree pulling out certain
> information. For this I wanted to use node.getType() to deal with a
> specific type of node correctly.
> 
> But all that node.getType() ever returns is None. Is this method
> depreciated? If not then why will it only return None?

getType() is a method of compiler.ast.Node. Looking at the source (lines
37-40 in mine):

class Node: # an abstract base class
    lineno = None # provide a lineno for nodes that don't have one
    def getType(self):
        pass # implemented by subclass

...unfortunately for you, none of the subclasses of Node in compiler.ast
override getType(). So getType() returns None just like any other method
without an explicit return value.

If you want to traverse the tree, look at the docs and source for
compiler.visitor


Robert Brewer
MIS
Amor Ministries
fumanchu at amor.org




More information about the Python-list mailing list