~inkscape.dev/inkscape-devlibs64/trunk

« back to all changes in this revision

Viewing changes to python/Lib/lib2to3/fixes/fix_intern.py

  • Committer: Eduard Braun
  • Date: 2016-10-22 16:51:19 UTC
  • Revision ID: eduard.braun2@gmx.de-20161022165119-9eosgy6lp8j1kzli
Update Python to version 2.7.12

Included modules:
  coverage 4.2
  lxml 3.6.4
  numpy 1.11.2
  scour 0.35
  six 1.10.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright 2006 Georg Brandl.
2
 
# Licensed to PSF under a Contributor Agreement.
3
 
 
4
 
"""Fixer for intern().
5
 
 
6
 
intern(s) -> sys.intern(s)"""
7
 
 
8
 
# Local imports
9
 
from .. import pytree
10
 
from .. import fixer_base
11
 
from ..fixer_util import Name, Attr, touch_import
12
 
 
13
 
 
14
 
class FixIntern(fixer_base.BaseFix):
15
 
    BM_compatible = True
16
 
    order = "pre"
17
 
 
18
 
    PATTERN = """
19
 
    power< 'intern'
20
 
           trailer< lpar='('
21
 
                    ( not(arglist | argument<any '=' any>) obj=any
22
 
                      | obj=arglist<(not argument<any '=' any>) any ','> )
23
 
                    rpar=')' >
24
 
           after=any*
25
 
    >
26
 
    """
27
 
 
28
 
    def transform(self, node, results):
29
 
        syms = self.syms
30
 
        obj = results["obj"].clone()
31
 
        if obj.type == syms.arglist:
32
 
            newarglist = obj.clone()
33
 
        else:
34
 
            newarglist = pytree.Node(syms.arglist, [obj.clone()])
35
 
        after = results["after"]
36
 
        if after:
37
 
            after = [n.clone() for n in after]
38
 
        new = pytree.Node(syms.power,
39
 
                          Attr(Name(u"sys"), Name(u"intern")) +
40
 
                          [pytree.Node(syms.trailer,
41
 
                                       [results["lpar"].clone(),
42
 
                                        newarglist,
43
 
                                        results["rpar"].clone()])] + after)
44
 
        new.prefix = node.prefix
45
 
        touch_import(None, u'sys', node)
46
 
        return new
 
1
# Copyright 2006 Georg Brandl.
 
2
# Licensed to PSF under a Contributor Agreement.
 
3
 
 
4
"""Fixer for intern().
 
5
 
 
6
intern(s) -> sys.intern(s)"""
 
7
 
 
8
# Local imports
 
9
from .. import pytree
 
10
from .. import fixer_base
 
11
from ..fixer_util import Name, Attr, touch_import
 
12
 
 
13
 
 
14
class FixIntern(fixer_base.BaseFix):
 
15
    BM_compatible = True
 
16
    order = "pre"
 
17
 
 
18
    PATTERN = """
 
19
    power< 'intern'
 
20
           trailer< lpar='('
 
21
                    ( not(arglist | argument<any '=' any>) obj=any
 
22
                      | obj=arglist<(not argument<any '=' any>) any ','> )
 
23
                    rpar=')' >
 
24
           after=any*
 
25
    >
 
26
    """
 
27
 
 
28
    def transform(self, node, results):
 
29
        syms = self.syms
 
30
        obj = results["obj"].clone()
 
31
        if obj.type == syms.arglist:
 
32
            newarglist = obj.clone()
 
33
        else:
 
34
            newarglist = pytree.Node(syms.arglist, [obj.clone()])
 
35
        after = results["after"]
 
36
        if after:
 
37
            after = [n.clone() for n in after]
 
38
        new = pytree.Node(syms.power,
 
39
                          Attr(Name(u"sys"), Name(u"intern")) +
 
40
                          [pytree.Node(syms.trailer,
 
41
                                       [results["lpar"].clone(),
 
42
                                        newarglist,
 
43
                                        results["rpar"].clone()])] + after)
 
44
        new.prefix = node.prefix
 
45
        touch_import(None, u'sys', node)
 
46
        return new