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
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Copyright 2006 Georg Brandl.
 | |
| # Licensed to PSF under a Contributor Agreement.
 | |
| 
 | |
| """Fixer for intern().
 | |
| 
 | |
| intern(s) -> sys.intern(s)"""
 | |
| 
 | |
| # Local imports
 | |
| from .. import pytree
 | |
| from .. import fixer_base
 | |
| from ..fixer_util import Name, Attr, touch_import
 | |
| 
 | |
| 
 | |
| class FixIntern(fixer_base.BaseFix):
 | |
|     BM_compatible = True
 | |
|     order = "pre"
 | |
| 
 | |
|     PATTERN = """
 | |
|     power< 'intern'
 | |
|            trailer< lpar='('
 | |
|                     ( not(arglist | argument<any '=' any>) obj=any
 | |
|                       | obj=arglist<(not argument<any '=' any>) any ','> )
 | |
|                     rpar=')' >
 | |
|            after=any*
 | |
|     >
 | |
|     """
 | |
| 
 | |
|     def transform(self, node, results):
 | |
|         syms = self.syms
 | |
|         obj = results["obj"].clone()
 | |
|         if obj.type == syms.arglist:
 | |
|             newarglist = obj.clone()
 | |
|         else:
 | |
|             newarglist = pytree.Node(syms.arglist, [obj.clone()])
 | |
|         after = results["after"]
 | |
|         if after:
 | |
|             after = [n.clone() for n in after]
 | |
|         new = pytree.Node(syms.power,
 | |
|                           Attr(Name(u"sys"), Name(u"intern")) +
 | |
|                           [pytree.Node(syms.trailer,
 | |
|                                        [results["lpar"].clone(),
 | |
|                                         newarglist,
 | |
|                                         results["rpar"].clone()])] + after)
 | |
|         new.prefix = node.prefix
 | |
|         touch_import(None, u'sys', node)
 | |
|         return new
 |