These files are a subset of the python-2.7.2.tgz distribution from python.org. Changed files from PyMod-2.7.2 have been copied into the corresponding directories of this tree, replacing the original files in the distribution. Signed-off-by: daryl.mcdaniel@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13197 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			39 lines
		
	
	
		
			923 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			923 B
		
	
	
	
		
			Python
		
	
	
	
	
	
#! /usr/bin/env python
 | 
						|
 | 
						|
"""Print names of all methods defined in module
 | 
						|
 | 
						|
This script demonstrates use of the visitor interface of the compiler
 | 
						|
package.
 | 
						|
"""
 | 
						|
 | 
						|
import compiler
 | 
						|
 | 
						|
class MethodFinder:
 | 
						|
    """Print the names of all the methods
 | 
						|
 | 
						|
    Each visit method takes two arguments, the node and its current
 | 
						|
    scope.  The scope is the name of the current class or None.
 | 
						|
    """
 | 
						|
 | 
						|
    def visitClass(self, node, scope=None):
 | 
						|
        self.visit(node.code, node.name)
 | 
						|
 | 
						|
    def visitFunction(self, node, scope=None):
 | 
						|
        if scope is not None:
 | 
						|
            print "%s.%s" % (scope, node.name)
 | 
						|
        self.visit(node.code, None)
 | 
						|
 | 
						|
def main(files):
 | 
						|
    mf = MethodFinder()
 | 
						|
    for file in files:
 | 
						|
        f = open(file)
 | 
						|
        buf = f.read()
 | 
						|
        f.close()
 | 
						|
        ast = compiler.parse(buf)
 | 
						|
        compiler.walk(ast, mf)
 | 
						|
 | 
						|
if __name__ == "__main__":
 | 
						|
    import sys
 | 
						|
 | 
						|
    main(sys.argv[1:])
 |