+
    i^                     J    R t ^ RIHt ^ RIHt R
tR R ltR R ltR R ltR	# )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FunctionDefc                0    V ^8  d   QhR\         R\        /#    nodereturn)r   bool)formats   "@/usr/lib/python3/dist-packages/astroid/brain/brain_hypothesis.py__annotate__r      s            c                ,   V P                   '       d   V P                  P                  '       df   V P                  P                  ^ ,          P                  R8X  d:   V P                   P                   F  pVP	                  4       \
        9   g   K   R# 	  R# )z:Return whether a decorated node has @st.composite applied.drawTF)
decoratorsargsnamenodes	as_stringCOMPOSITE_NAMES)r	   decorator_attributes   & r   is_decorated_with_st_compositer      s_    499>>>diinnQ.?.D.D.N#'??#8#8",,./A $9 r   c                0    V ^8  d   QhR\         R\         /# r   r   )r   s   "r   r   r   (   s     	 	 	 	r   c                    \        V P                  P                  \        4      '       g   Q hV P                  P                  ^  V P                  P                  ^  V P                  P                  ^  V # )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.
)
isinstancer   listannotationstype_comment_args)r	   s   &r   -remove_draw_parameter_from_composite_strategyr    (   sX    
 diinnd++++		q		a 		##A&Kr   c                (    V ^8  d   QhR\         RR/# )r   managerr
   Nr   )r   s   "r   r   r   4   s      n  r   c                 F    V P                  \        \        \        R 7       R# ))
node_class	transform	predicateN)register_transformr   r    r   )r"   s   &r   registerr(   4   s    ?0  r   N)	compositezst.compositezstrategies.compositezhypothesis.strategies.composite)	__doc__astroid.managerr   astroid.nodes.scoped_nodesr   r   r   r    r(    r   r   <module>r.      s(   
 + 2	r   