symbian-qemu-0.9.1-12/python-2.6.1/Lib/lib2to3/fixes/fix_input.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 """Fixer that changes input(...) into eval(input(...))."""
       
     2 # Author: Andre Roberge
       
     3 
       
     4 # Local imports
       
     5 from .. import fixer_base
       
     6 from ..fixer_util import Call, Name
       
     7 from .. import patcomp
       
     8 
       
     9 
       
    10 context = patcomp.compile_pattern("power< 'eval' trailer< '(' any ')' > >")
       
    11 
       
    12 
       
    13 class FixInput(fixer_base.BaseFix):
       
    14 
       
    15     PATTERN = """
       
    16               power< 'input' args=trailer< '(' [any] ')' > >
       
    17               """
       
    18 
       
    19     def transform(self, node, results):
       
    20         # If we're already wrapped in a eval() call, we're done.
       
    21         if context.match(node.parent.parent):
       
    22             return
       
    23 
       
    24         new = node.clone()
       
    25         new.set_prefix("")
       
    26         return Call(Name("eval"), [new], prefix=node.get_prefix())