u{f d dl mZ d dlmZ d dlmZ d dlmZ d dlm Z m
Z
mZ d dlm
Z
erd dlmZ G d d e ZddZdS ) )annotations)
TYPE_CHECKING)nodes)BaseChecker)DUNDER_METHODSDUNDER_PROPERTIESEXTRA_DUNDER_METHODS)HIGH)PyLinterc F e Zd ZdZdZdZddiZdg ddd d
ffZdd
ZddZ dS )
DunderCheckerz!Checks related to dunder methods.dunderW3201)z(Bad or misspelled dunder method name %s.bad-dunder-nameznUsed when a dunder method is misspelled or defined with a name not within the predefined list of dunder names.zgood-dunder-namescsvzz2Good dunder names which should always be accepted.)defaulttypemetavarhelpreturnNonec t t z | j j j z | _ t
j D ]S\ }}|| j j j k r9| j t | Td S N)r r linterconfiggood_dunder_names_dunder_methodsr items
py_versionextendlistkeys)self
since_versdunder_methodss j/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/pylint/extensions/dunder.pyopenzDunderChecker.open, s
k 2
3
+9*>*@*@ I I&JT[/:::$++D1D1D1F1F,G,GHHH I I nodenodes.FunctionDefc | sdS |j d rM|j d r5|j | j vr)| d||j t dS dS dS dS )zoCheck if known dunder method is misspelled or dunder name is not one
of the pre-defined names.
N_r )r* args
confidence) is_methodname
startswithendswithr add_messager
)r$ r* s r' visit_functiondefzDunderChecker.visit_functiondef6 s
~~ F
I %%
""3''
!555!i
65r) N)r r )r* r+ r r )
__name__
__module____qualname____doc__r1 prioritymsgsoptionsr( r5 r) r' r
r
s ++DH
D
4L
GI I I I r) r
r r r r c J | t | d S r )register_checkerr
)r s r' registerr@ L s$
M&1122222r) N)r r r r )
__future__r typingr astroidr pylint.checkersr pylint.constantsr r r pylint.interfacesr
pylint.lintr r
r@ r= r) r' rH s
# " " " " " ' ' ' ' ' ' T T T T T T T T T T " " " " " " %$$$$$$6 6 6 6 6K 6 6 6r3 3 3 3 3 3r)