bgR ddlmZddlmZddlmZddlmZddlm Z m Z m Z ddl m Z erddlmZGdd eZddZdS)) annotations) TYPE_CHECKING)nodes) BaseChecker)DUNDER_METHODSDUNDER_PROPERTIESEXTRA_DUNDER_METHODS)HIGH)PyLintercFeZdZdZdZdZddiZdgddd 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 ttz|jjjz|_t jD]S\}}||jjjkr9|j t| TdSN) r rlinterconfiggood_dunder_names_dunder_methodsritems py_versionextendlistkeys)self since_versdunder_methodss i/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/extensions/dunder.pyopenzDunderChecker.open,s  k 2 3  +9*>*@*@ I I &JT[/:::$++D1D1D1F1F,G,GHHH I Inodenodes.FunctionDefc|sdS|jdrM|jdr5|j|jvr)|d||jt dSdSdSdS)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_functiondef6s ~~  F I  % %  ""3''  !555   !i          65r)N)rr)r*r+rr) __name__ __module__ __qualname____doc__r1prioritymsgsoptionsr(r5r)r'r r s++ DH  D 4L     GIIIIr)r rr rrcJ|t|dSr)register_checkerr )rs r'registerr@Ls$ M&1122222r)N)rr rr) __future__rtypingrastroidrpylint.checkersrpylint.constantsrrr pylint.interfacesr pylint.lintr r r@r=r)r'rHs #""""" ''''''TTTTTTTTTT""""""%$$$$$$66666K666r333333r)