??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
ó
oþfc @ si d Z d d l m Z d d l m Z d d l m Z d d l m Z m Z d e j f d YZ
d S( s& 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.
i ( t pytree( t token( t
fixer_base( t Namet parenthesizet FixHasKeyc B s e Z e Z d Z d Z RS( s
anchor=power<
before=any+
trailer< '.' 'has_key' >
trailer<
'('
( not(arglist | argument) arg=any
| arglist<(not argument) arg=any ','>
)
')'
>
after=any*
>
|
negation=not_test<
'not'
anchor=power<
before=any+
trailer< '.' 'has_key' >
trailer<
'('
( not(arglist | argument) arg=any
| arglist<(not argument) arg=any ','>
)
')'
>
>
>
c C sI | j } | j j | j k r7 | j j | j r7 d S| j d } | d } | j } g | d D] } | j ^ qd } | d j } | j d }
|
rà g |
D] } | j ^ qš }
n | j | j
| j | j | j | j
| j | j f k rt | } n t | d k r*| d } n t j | j | } d | _ t d d
d } | rt d d
d } t j | j | | f } n t j | j
| | | f }
|
råt |
}
t j | j |
f t |
}
n | j j | j
| j | j | j | j | j | j | j | j f k r<t |
}
n | |
_ |
S( Nt negationt anchort beforet argt afteri i u u int prefixu not( t symst parentt typet not_testt patternt matcht Nonet getR t clonet
comparisont and_testt or_testt testt lambdeft argumentR t lenR t Nodet powerR t comp_opt tuplet exprt xor_exprt and_exprt
shift_exprt
arith_exprt termt factor( t selft nodet resultsR R R R t nR R R
t n_opt n_nott new( ( s1 /usr/lib64/python2.7/lib2to3/fixes/fix_has_key.pyt transformH sD
#"!
% ( t __name__t
__module__t Truet
BM_compatiblet PATTERNR. ( ( ( s1 /usr/lib64/python2.7/lib2to3/fixes/fix_has_key.pyR ' s N( t __doc__t R t pgen2R R t
fixer_utilR R t BaseFixR ( ( ( s1 /usr/lib64/python2.7/lib2to3/fixes/fix_has_key.pyt s