idxdZddlmZddlmZdZdefdZdZe eeed S) aV Astroid hook for the Hypothesis library. Without this hook pylint reports no-value-for-parameter for use of strategies defined using the `@hypothesis.strategies.composite` decorator. For example: from hypothesis import strategies as st @st.composite def a_strategy(draw): return draw(st.integers()) a_strategy() )AstroidManager) FunctionDef) compositez st.compositezstrategies.compositezhypothesis.strategies.compositereturnc|jrT|jjrH|jjdjdkr-|jjD] }|t vrdS!dS)z:Return whether a decorated node has @st.composite applied.rdrawTF) decoratorsargsnamenodes as_stringCOMPOSITE_NAMES)nodedecorator_attributes S/opt/cloudlinux/venv/lib/python3.11/site-packages/astroid/brain/brain_hypothesis.pyis_decorated_with_st_compositersk 49>dinQ.?.D.N.N#'?#8   ",,../AAttB 5cT|jjd=|jjd=|jjd=|S)zGiven that the FunctionDef is decorated with @st.composite, remove the first argument (`draw`) - it's always supplied by Hypothesis so we don't need to emit the no-value-for-parameter lint. r)r annotationstype_comment_args)rs r-remove_draw_parameter_from_composite_strategyr's/ q a  #A& Kr) node_class transform predicateN) __doc__astroid.managerrastroid.nodes.scoped_nodesrrboolrrregister_transformrrr!s  +*****222222D##;,$r