home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / lib / python2.6 / lib2to3 / fixes / fix_intern.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2009-04-20  |  1.6 KB  |  33 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. '''Fixer for intern().
  5.  
  6. intern(s) -> sys.intern(s)'''
  7. from  import pytree
  8. from  import fixer_base
  9. from fixer_util import Name, Attr, touch_import
  10.  
  11. class FixIntern(fixer_base.BaseFix):
  12.     PATTERN = "\n    power< 'intern'\n           trailer< lpar='('\n                    ( not(arglist | argument<any '=' any>) obj=any\n                      | obj=arglist<(not argument<any '=' any>) any ','> )\n                    rpar=')' >\n           after=any*\n    >\n    "
  13.     
  14.     def transform(self, node, results):
  15.         syms = self.syms
  16.         obj = results['obj'].clone()
  17.         if obj.type == syms.arglist:
  18.             newarglist = obj.clone()
  19.         else:
  20.             newarglist = pytree.Node(syms.arglist, [
  21.                 obj.clone()])
  22.         after = results['after']
  23.         new = pytree.Node(syms.power, Attr(Name('sys'), Name('intern')) + [
  24.             pytree.Node(syms.trailer, [
  25.                 results['lpar'].clone(),
  26.                 newarglist,
  27.                 results['rpar'].clone()])] + after)
  28.         new.set_prefix(node.get_prefix())
  29.         touch_import(None, 'sys', node)
  30.         return new
  31.  
  32.  
  33.