$91 GRAYBYTE WORDPRESS FILE MANAGER $76

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/cloudlinux/venv/lib/python3.11/site-packages/libpasteurize/fixes/

HOME
Current File : /opt/cloudlinux/venv/lib/python3.11/site-packages/libpasteurize/fixes//fix_annotations.py
u"""
Fixer to remove function annotations
"""

from lib2to3 import fixer_base
from lib2to3.pgen2 import token
from lib2to3.fixer_util import syms

warning_text = u"Removing function annotations completely."

def param_without_annotations(node):
    return node.children[0]

class FixAnnotations(fixer_base.BaseFix):

    warned = False

    def warn_once(self, node, reason):
        if not self.warned:
            self.warned = True
            self.warning(node, reason=reason)

    PATTERN = u"""
              funcdef< 'def' any parameters< '(' [params=any] ')' > ['->' ret=any] ':' any* >
              """

    def transform(self, node, results):
        u"""
        This just strips annotations from the funcdef completely.
        """
        params = results.get(u"params")
        ret = results.get(u"ret")
        if ret is not None:
            assert ret.prev_sibling.type == token.RARROW, u"Invalid return annotation"
            self.warn_once(node, reason=warning_text)
            ret.prev_sibling.remove()
            ret.remove()
        if params is None: return
        if params.type == syms.typedargslist:
            # more than one param in a typedargslist
            for param in params.children:
                if param.type == syms.tname:
                    self.warn_once(node, reason=warning_text)
                    param.replace(param_without_annotations(param))
        elif params.type == syms.tname:
            # one param
            self.warn_once(node, reason=warning_text)
            params.replace(param_without_annotations(params))

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
14 Aug 2025 9.24 PM
root / root
0755
__pycache__
--
14 Aug 2025 9.24 PM
root / root
0755
__init__.py
3.632 KB
17 Apr 2025 8.10 PM
root / root
0644
feature_base.py
1.683 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_add_all__future__imports.py
0.66 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_add_all_future_builtins.py
1.239 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_add_future_standard_library_import.py
0.647 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_annotations.py
1.544 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_division.py
0.883 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_features.py
2.612 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_fullargspec.py
0.428 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_future_builtins.py
1.416 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_getcwd.py
0.853 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_imports.py
4.828 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_imports2.py
8.379 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_kwargs.py
5.851 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_memoryview.py
0.538 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_metaclass.py
3.184 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_newstyle.py
0.867 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_next.py
1.204 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_printfunction.py
0.392 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_raise.py
1.073 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_raise_.py
1.196 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_throw.py
0.815 KB
17 Apr 2025 8.10 PM
root / root
0644
fix_unpacking.py
5.807 KB
17 Apr 2025 8.10 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF