[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.117.100.130: ~ $
U

��,a|�@sBdZddlmZddlmZddlmZmZGdd�dej�ZdS)a&Fixer for has_key().

Calls to .has_key() methods are expressed in terms of the 'in'
operator:

    d.has_key(k) -> k in d

CAVEATS:
1) While the primary target of this fixer is dict.has_key(), the
   fixer will change any has_key() method call, regardless of its
   class.

2) Cases like this will not be converted:

    m = d.has_key
    if m(k):
        ...

   Only *calls* to has_key() are converted. While it is possible to
   convert the above to something like

    m = d.__contains__
    if m(k):
        ...

   this is currently not done.
�)�pytree)�
fixer_base)�Name�parenthesizec@seZdZdZdZdd�ZdS)�	FixHasKeyTa�
    anchor=power<
        before=any+
        trailer< '.' 'has_key' >
        trailer<
            '('
            ( not(arglist | argument<any '=' any>) arg=any
            | arglist<(not argument<any '=' any>) arg=any ','>
            )
            ')'
        >
        after=any*
    >
    |
    negation=not_test<
        'not'
        anchor=power<
            before=any+
            trailer< '.' 'has_key' >
            trailer<
                '('
                ( not(arglist | argument<any '=' any>) arg=any
                | arglist<(not argument<any '=' any>) arg=any ','>
                )
                ')'
            >
        >
    >
    c

Cs||j}|jj|jkr&|j�|j�r&dS|�d�}|d}|j}dd�|dD�}|d��}|�d�}	|	rxdd�|	D�}	|j|j	|j|j
|j|j|j
|jfkr�t|�}t|�d	kr�|d
}nt�|j|�}d|_tddd
�}
|r�tddd
�}t�|j||
f�}
t�|j	||
|f�}|	�r8t|�}t�|j|ft|	��}|jj|j	|j|j|j|j|j|j|j|jf	k�rrt|�}||_|S)N�negation�anchorcSsg|]}|���qS���clone��.0�nr	r	�>/opt/alt/python38/lib64/python3.8/lib2to3/fixes/fix_has_key.py�
<listcomp>Rsz'FixHasKey.transform.<locals>.<listcomp>�before�arg�aftercSsg|]}|���qSr	r
rr	r	rrVs��� �in)�prefix�not)�syms�parent�typeZnot_test�pattern�match�getrrZ
comparisonZand_testZor_testZtestZlambdefZargumentr�lenrZNodeZpowerrZcomp_op�tuple�exprZxor_exprZand_exprZ
shift_exprZ
arith_exprZtermZfactor)
�selfZnodeZresultsrrrrrrrZn_opZn_not�newr	r	r�	transformGsV�

�
�zFixHasKey.transformN)�__name__�
__module__�__qualname__Z
BM_compatibleZPATTERNr%r	r	r	rr&srN)	�__doc__�rrZ
fixer_utilrrZBaseFixrr	r	r	r�<module>s

Filemanager

Name Type Size Permission Actions
__init__.cpython-38.opt-1.pyc File 150 B 0644
__init__.cpython-38.opt-2.pyc File 150 B 0644
__init__.cpython-38.pyc File 150 B 0644
fix_apply.cpython-38.opt-1.pyc File 1.62 KB 0644
fix_apply.cpython-38.opt-2.pyc File 1.54 KB 0644
fix_apply.cpython-38.pyc File 1.65 KB 0644
fix_asserts.cpython-38.opt-1.pyc File 1.26 KB 0644
fix_asserts.cpython-38.opt-2.pyc File 1.19 KB 0644
fix_asserts.cpython-38.pyc File 1.26 KB 0644
fix_basestring.cpython-38.opt-1.pyc File 671 B 0644
fix_basestring.cpython-38.opt-2.pyc File 626 B 0644
fix_basestring.cpython-38.pyc File 671 B 0644
fix_buffer.cpython-38.opt-1.pyc File 816 B 0644
fix_buffer.cpython-38.opt-2.pyc File 747 B 0644
fix_buffer.cpython-38.pyc File 816 B 0644
fix_dict.cpython-38.opt-1.pyc File 3.2 KB 0644
fix_dict.cpython-38.opt-2.pyc File 2.32 KB 0644
fix_dict.cpython-38.pyc File 3.26 KB 0644
fix_except.cpython-38.opt-1.pyc File 2.76 KB 0644
fix_except.cpython-38.opt-2.pyc File 2.32 KB 0644
fix_except.cpython-38.pyc File 2.76 KB 0644
fix_exec.cpython-38.opt-1.pyc File 1.1 KB 0644
fix_exec.cpython-38.opt-2.pyc File 965 B 0644
fix_exec.cpython-38.pyc File 1.13 KB 0644
fix_execfile.cpython-38.opt-1.pyc File 1.64 KB 0644
fix_execfile.cpython-38.opt-2.pyc File 1.51 KB 0644
fix_execfile.cpython-38.pyc File 1.67 KB 0644
fix_exitfunc.cpython-38.opt-1.pyc File 2.26 KB 0644
fix_exitfunc.cpython-38.opt-2.pyc File 2.19 KB 0644
fix_exitfunc.cpython-38.pyc File 2.26 KB 0644
fix_filter.cpython-38.opt-1.pyc File 2.39 KB 0644
fix_filter.cpython-38.opt-2.pyc File 1.95 KB 0644
fix_filter.cpython-38.pyc File 2.39 KB 0644
fix_funcattrs.cpython-38.opt-1.pyc File 984 B 0644
fix_funcattrs.cpython-38.opt-2.pyc File 916 B 0644
fix_funcattrs.cpython-38.pyc File 984 B 0644
fix_future.cpython-38.opt-1.pyc File 792 B 0644
fix_future.cpython-38.opt-2.pyc File 689 B 0644
fix_future.cpython-38.pyc File 792 B 0644
fix_getcwdu.cpython-38.opt-1.pyc File 796 B 0644
fix_getcwdu.cpython-38.opt-2.pyc File 730 B 0644
fix_getcwdu.cpython-38.pyc File 796 B 0644
fix_has_key.cpython-38.opt-1.pyc File 2.85 KB 0644
fix_has_key.cpython-38.opt-2.pyc File 2.29 KB 0644
fix_has_key.cpython-38.pyc File 2.88 KB 0644
fix_idioms.cpython-38.opt-1.pyc File 3.76 KB 0644
fix_idioms.cpython-38.opt-2.pyc File 3.28 KB 0644
fix_idioms.cpython-38.pyc File 3.84 KB 0644
fix_import.cpython-38.opt-1.pyc File 2.73 KB 0644
fix_import.cpython-38.opt-2.pyc File 2.43 KB 0644
fix_import.cpython-38.pyc File 2.73 KB 0644
fix_imports.cpython-38.opt-1.pyc File 4.3 KB 0644
fix_imports.cpython-38.opt-2.pyc File 4.24 KB 0644
fix_imports.cpython-38.pyc File 4.3 KB 0644
fix_imports2.cpython-38.opt-1.pyc File 554 B 0644
fix_imports2.cpython-38.opt-2.pyc File 453 B 0644
fix_imports2.cpython-38.pyc File 554 B 0644
fix_input.cpython-38.opt-1.pyc File 958 B 0644
fix_input.cpython-38.opt-2.pyc File 889 B 0644
fix_input.cpython-38.pyc File 958 B 0644
fix_intern.cpython-38.opt-1.pyc File 1.12 KB 0644
fix_intern.cpython-38.opt-2.pyc File 1.05 KB 0644
fix_intern.cpython-38.pyc File 1.12 KB 0644
fix_isinstance.cpython-38.opt-1.pyc File 1.52 KB 0644
fix_isinstance.cpython-38.opt-2.pyc File 1.21 KB 0644
fix_isinstance.cpython-38.pyc File 1.52 KB 0644
fix_itertools.cpython-38.opt-1.pyc File 1.52 KB 0644
fix_itertools.cpython-38.opt-2.pyc File 1.17 KB 0644
fix_itertools.cpython-38.pyc File 1.52 KB 0644
fix_itertools_imports.cpython-38.opt-1.pyc File 1.51 KB 0644
fix_itertools_imports.cpython-38.opt-2.pyc File 1.43 KB 0644
fix_itertools_imports.cpython-38.pyc File 1.55 KB 0644
fix_long.cpython-38.opt-1.pyc File 713 B 0644
fix_long.cpython-38.opt-2.pyc File 649 B 0644
fix_long.cpython-38.pyc File 713 B 0644
fix_map.cpython-38.opt-1.pyc File 3.03 KB 0644
fix_map.cpython-38.opt-2.pyc File 2.25 KB 0644
fix_map.cpython-38.pyc File 3.03 KB 0644
fix_metaclass.cpython-38.opt-1.pyc File 5.19 KB 0644
fix_metaclass.cpython-38.opt-2.pyc File 3.84 KB 0644
fix_metaclass.cpython-38.pyc File 5.23 KB 0644
fix_methodattrs.cpython-38.opt-1.pyc File 946 B 0644
fix_methodattrs.cpython-38.opt-2.pyc File 870 B 0644
fix_methodattrs.cpython-38.pyc File 946 B 0644
fix_ne.cpython-38.opt-1.pyc File 819 B 0644
fix_ne.cpython-38.opt-2.pyc File 774 B 0644
fix_ne.cpython-38.pyc File 819 B 0644
fix_next.cpython-38.opt-1.pyc File 2.99 KB 0644
fix_next.cpython-38.opt-2.pyc File 2.93 KB 0644
fix_next.cpython-38.pyc File 3.02 KB 0644
fix_nonzero.cpython-38.opt-1.pyc File 931 B 0644
fix_nonzero.cpython-38.opt-2.pyc File 872 B 0644
fix_nonzero.cpython-38.pyc File 931 B 0644
fix_numliterals.cpython-38.opt-1.pyc File 1.01 KB 0644
fix_numliterals.cpython-38.opt-2.pyc File 969 B 0644
fix_numliterals.cpython-38.pyc File 1.01 KB 0644
fix_operator.cpython-38.opt-1.pyc File 4.13 KB 0644
fix_operator.cpython-38.opt-2.pyc File 3.66 KB 0644
fix_operator.cpython-38.pyc File 4.13 KB 0644
fix_paren.cpython-38.opt-1.pyc File 1.37 KB 0644
fix_paren.cpython-38.opt-2.pyc File 1.23 KB 0644
fix_paren.cpython-38.pyc File 1.37 KB 0644
fix_print.cpython-38.opt-1.pyc File 2.22 KB 0644
fix_print.cpython-38.opt-2.pyc File 1.94 KB 0644
fix_print.cpython-38.pyc File 2.3 KB 0644
fix_raise.cpython-38.opt-1.pyc File 2.21 KB 0644
fix_raise.cpython-38.opt-2.pyc File 1.6 KB 0644
fix_raise.cpython-38.pyc File 2.21 KB 0644
fix_raw_input.cpython-38.opt-1.pyc File 803 B 0644
fix_raw_input.cpython-38.opt-2.pyc File 736 B 0644
fix_raw_input.cpython-38.pyc File 803 B 0644
fix_reduce.cpython-38.opt-1.pyc File 1.11 KB 0644
fix_reduce.cpython-38.opt-2.pyc File 1006 B 0644
fix_reduce.cpython-38.pyc File 1.11 KB 0644
fix_reload.cpython-38.opt-1.pyc File 1.13 KB 0644
fix_reload.cpython-38.opt-2.pyc File 1.06 KB 0644
fix_reload.cpython-38.pyc File 1.13 KB 0644
fix_renames.cpython-38.opt-1.pyc File 1.97 KB 0644
fix_renames.cpython-38.opt-2.pyc File 1.89 KB 0644
fix_renames.cpython-38.pyc File 1.97 KB 0644
fix_repr.cpython-38.opt-1.pyc File 853 B 0644
fix_repr.cpython-38.opt-2.pyc File 789 B 0644
fix_repr.cpython-38.pyc File 853 B 0644
fix_set_literal.cpython-38.opt-1.pyc File 1.65 KB 0644
fix_set_literal.cpython-38.opt-2.pyc File 1.58 KB 0644
fix_set_literal.cpython-38.pyc File 1.65 KB 0644
fix_standarderror.cpython-38.opt-1.pyc File 728 B 0644
fix_standarderror.cpython-38.opt-2.pyc File 674 B 0644
fix_standarderror.cpython-38.pyc File 728 B 0644
fix_sys_exc.cpython-38.opt-1.pyc File 1.39 KB 0644
fix_sys_exc.cpython-38.opt-2.pyc File 1.22 KB 0644
fix_sys_exc.cpython-38.pyc File 1.39 KB 0644
fix_throw.cpython-38.opt-1.pyc File 1.77 KB 0644
fix_throw.cpython-38.opt-2.pyc File 1.55 KB 0644
fix_throw.cpython-38.pyc File 1.77 KB 0644
fix_tuple_params.cpython-38.opt-1.pyc File 4.49 KB 0644
fix_tuple_params.cpython-38.opt-2.pyc File 4.17 KB 0644
fix_tuple_params.cpython-38.pyc File 4.49 KB 0644
fix_types.cpython-38.opt-1.pyc File 1.8 KB 0644
fix_types.cpython-38.opt-2.pyc File 1.34 KB 0644
fix_types.cpython-38.pyc File 1.8 KB 0644
fix_unicode.cpython-38.opt-1.pyc File 1.52 KB 0644
fix_unicode.cpython-38.opt-2.pyc File 1.35 KB 0644
fix_unicode.cpython-38.pyc File 1.52 KB 0644
fix_urllib.cpython-38.opt-1.pyc File 5.87 KB 0644
fix_urllib.cpython-38.opt-2.pyc File 5.32 KB 0644
fix_urllib.cpython-38.pyc File 5.87 KB 0644
fix_ws_comma.cpython-38.opt-1.pyc File 1.1 KB 0644
fix_ws_comma.cpython-38.opt-2.pyc File 941 B 0644
fix_ws_comma.cpython-38.pyc File 1.1 KB 0644
fix_xrange.cpython-38.opt-1.pyc File 2.48 KB 0644
fix_xrange.cpython-38.opt-2.pyc File 2.42 KB 0644
fix_xrange.cpython-38.pyc File 2.48 KB 0644
fix_xreadlines.cpython-38.opt-1.pyc File 1.1 KB 0644
fix_xreadlines.cpython-38.opt-2.pyc File 1002 B 0644
fix_xreadlines.cpython-38.pyc File 1.1 KB 0644
fix_zip.cpython-38.opt-1.pyc File 1.55 KB 0644
fix_zip.cpython-38.opt-2.pyc File 1.23 KB 0644
fix_zip.cpython-38.pyc File 1.55 KB 0644