u""" Fixer for: it.__next__() -> it.next(). next(it) -> it.next(). """ from lib2to3.pgen2 import token from lib2to3.pygram import python_symbols as syms from lib2to3 import fixer_base from lib2to3.fixer_util import Name, Call, find_binding, Attr bind_warning = u"Calls to builtin next() possibly shadowed by global binding" class FixNext(fixer_base.BaseFix): PATTERN = u""" power< base=any+ trailer< '.' attr='__next__' > any* > | power< head='next' trailer< '(' arg=any ')' > any* > | classdef< 'class' base=any+ ':' suite< any* funcdef< 'def' attr='__next__' parameters< '(' NAME ')' > any+ > any* > > """ def transform(self, node, results): assert results base = results.get(u"base") attr = results.get(u"attr") head = results.get(u"head") arg_ = results.get(u"arg") if arg_: arg = arg_.clone() head.replace(Attr(Name(unicode(arg),prefix=head.prefix), Name(u"next"))) arg_.remove() elif base: attr.replace(Name(u"next", prefix=attr.prefix))
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 3.63 KB | 0644 |
|
feature_base.py | File | 1.68 KB | 0644 |
|
fix_add_all__future__imports.py | File | 676 B | 0644 |
|
fix_add_all_future_builtins.py | File | 1.24 KB | 0644 |
|
fix_add_future_standard_library_import.py | File | 663 B | 0644 |
|
fix_annotations.py | File | 1.54 KB | 0644 |
|
fix_division.py | File | 904 B | 0644 |
|
fix_features.py | File | 2.61 KB | 0644 |
|
fix_fullargspec.py | File | 438 B | 0644 |
|
fix_future_builtins.py | File | 1.42 KB | 0644 |
|
fix_getcwd.py | File | 873 B | 0644 |
|
fix_imports.py | File | 4.83 KB | 0644 |
|
fix_imports2.py | File | 8.38 KB | 0644 |
|
fix_kwargs.py | File | 5.85 KB | 0644 |
|
fix_memoryview.py | File | 551 B | 0644 |
|
fix_metaclass.py | File | 3.18 KB | 0644 |
|
fix_newstyle.py | File | 888 B | 0644 |
|
fix_next.py | File | 1.2 KB | 0644 |
|
fix_printfunction.py | File | 401 B | 0644 |
|
fix_raise.py | File | 1.07 KB | 0644 |
|
fix_raise_.py | File | 1.2 KB | 0644 |
|
fix_throw.py | File | 835 B | 0644 |
|
fix_unpacking.py | File | 5.81 KB | 0644 |
|