o
    b                     @   s  d Z G dd deZG dd deZG dd deZG dd deZG d	d
 d
eZG dd deZG dd deZ	G dd deZ
G dd de
ZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZG d#d$ d$eZG d%d& d&eZG d'd( d(eZG d)d* d*eZG d+d, d,eZG d-d. d.eZG d/d0 d0eZG d1d2 d2eZG d3d4 d4eZd5S )6zLTest that we are emitting arguments-differ when the arguments are different.c                   @      e Zd Zdd ZdS )Parentc                 C      d S N selfr   r   f/var/www/secure340b-portal/env/lib/python3.10/site-packages/pylint/test/functional/arguments_differ.pytest      zParent.testN__name__
__module____qualname__r	   r   r   r   r   r          r   c                   @   r   )Childc                 C   r   r   r   r   argr   r   r   r	      r
   z
Child.testNr   r   r   r   r   r   
   r   r   c                   @      e Zd ZdddZdS )ParentDefaultsNc                 C   r   r   r   )r   r   Zbargr   r   r   r	      r
   zParentDefaults.test)NNr   r   r   r   r   r          r   c                   @   r   )ChildDefaultsNc                 C   r   r   r   r   r   r   r   r	      r
   zChildDefaults.testr   r   r   r   r   r   r      r   r   c                   @   s$   e Zd Zedd Zedd ZdS )Classmethodc                 C      |S r   r   clsdatar   r   r   func      zClassmethod.funcc                 C      | S r   r   r   r   r   r   func1!   r   zClassmethod.func1N)r   r   r   classmethodr   r    r   r   r   r   r      
    
r   c                   @   s$   e Zd Zedd Zedd ZdS )ClassmethodChildc                   C   r   r   r   r   r   r   r   r   (   r   zClassmethodChild.funcc                 C   s   |  S r   r   r   r   r   r   r    ,   s   zClassmethodChild.func1N)r   r   r   staticmethodr   r!   r    r   r   r   r   r#   &   r"   r#   c                   @   s   e Zd ZdZedd ZdS )BuiltinszIIgnore for builtins, for which we don't know the number of required args.c                 C   r   r   r   )r   r   arg1r   r   r   fromkeys4   r   zBuiltins.fromkeysN)r   r   r   __doc__r!   r'   r   r   r   r   r%   1   s    r%   c                   @      e Zd Zdd Zdd ZdS )Varargsc                 K   r   r   r   r   r   kwargsr   r   r   
has_kwargs;   r
   zVarargs.has_kwargsc                 C   r   r   r   r   argsr   r   r   	no_kwargs>   r
   zVarargs.no_kwargsNr   r   r   r-   r0   r   r   r   r   r*   9       r*   c                   @   r)   )VarargsChildc                 C      dS )zNot okay to lose capabilities.Nr   r   r   r   r   r-   D       zVarargsChild.has_kwargsc                 K   r4   )z#Not okay to add extra capabilities.Nr   r+   r   r   r   r0   G   r5   zVarargsChild.no_kwargsNr1   r   r   r   r   r3   B   r2   r3   c                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )Superc                 C   r   r   r   r   r   r   r   __init__L   r
   zSuper.__init__c                 C   r   r   r   r   r   r   r   	__privateO   r
   zSuper.__privatec                 C   r   r   r   r   r   r   r   __private2_R   r
   zSuper.__private2_c                 C   r   r   r   r   r   r   r   ___private3U   r
   zSuper.___private3c                 C      t r   NotImplementedErrorr   paramr   r   r   methodX   r
   zSuper.methodN)r   r   r   r7   Z_Super__privateZ_Super__private2_Z_Super___private3r@   r   r   r   r   r6   K   s    r6   c                       s>   e Zd Z fddZdd Zdd Zdd Zdd
dZ  ZS )Subc                    s   t t|   d S r   )superrA   r7   r   	__class__r   r   r7   _   s   zSub.__init__c                 C   r   r   r   r   r   r   r   r8   b   r
   zSub.__privatec                 C   r   r   r   r   r   r   r   r9   e   r
   zSub.__private2_c                 C   r   r   r   r   r   r   r   r:   h   r
   zSub.___private3abcc                 C   r   r   r   r>   r   r   r   r@   k   r
   z
Sub.method)rE   )	r   r   r   r7   Z_Sub__privateZ_Sub__private2_Z_Sub___private3r@   __classcell__r   r   rC   r   rA   \   s    rA   c                   @      e Zd Zedd ZdS )Staticmethodc                 C   r   r   r   )r   r   r   r   r   q   r   zStaticmethod.funcN)r   r   r   r$   r   r   r   r   r   rH   o       rH   c                   @   rG   )StaticmethodChildc                 C   r   r   r   r   r   r   r   r   x   r   zStaticmethodChild.funcN)r   r   r   r!   r   r   r   r   r   rJ   v   rI   rJ   c                   @   rG   )Propertyc                 C   r   r   r   r   r   r   r   close   r   zProperty.closeN)r   r   r   propertyrL   r   r   r   r   rK   }   rI   rK   c                   @   s&   e Zd Zedd Zejdd ZdS )PropertySetterc                 C   r   r   r   r   r   r   r   rL      r   zPropertySetter.closec                 C   r   r   r   )r   attrr   r   r   rL      r   N)r   r   r   rM   rL   setterr   r   r   r   rN      s
    
rN   c                          e Zd Z fddZ  ZS )StaticmethodChild2c                    s   t t| | d S r   )rB   rR   r   )r   r   rC   r   r   r      s   zStaticmethodChild2.func)r   r   r   r   rF   r   r   rC   r   rR          rR   c                   @   rG   )
SuperClassc                 K   s   | | S r   r   )r&   Zarg2r,   r   r   r   impl   s   zSuperClass.implN)r   r   r   r$   rU   r   r   r   r   rT      rI   rT   c                       rQ   )MyClassc                    s   t t| j|i | d S r   )rB   rV   rU   )r   r/   r,   rC   r   r   rU      s   zMyClass.impl)r   r   r   rU   rF   r   r   rC   r   rV      rS   rV   c                   @   r   )FirstHasArgsc                 G   r   r   r   r.   r   r   r   r	      r
   zFirstHasArgs.testNr   r   r   r   r   rW      r   rW   c                   @   r   )SecondChangesArgsc                 G   r   r   r   )r   firstsecondr/   r   r   r   r	      r
   zSecondChangesArgs.testNr   r   r   r   r   rX      r   rX   c                   @   r   )
Positionalc                 C   r   r   r   )r   rY   rZ   r   r   r   r	      r
   zPositional.testNr   r   r   r   r   r[      r   r[   c                       rQ   )PositionalChildc                    s   t t| |d |d  dS )zcAccepts too many.

        Why subclassing in the first case if the behavior is different?
               N)rB   r\   r	   r.   rC   r   r   r	      s   zPositionalChild.test)r   r   r   r	   rF   r   r   rC   r   r\      rS   r\   c                   @   r   )HasSpecialMethodc                 C   r   r   r   )r   keyr   r   r   __getitem__   r
   zHasSpecialMethod.__getitem__Nr   r   r   ra   r   r   r   r   r_      r   r_   c                   @   r   )OverridesSpecialMethodc                 C   s   |d S )Nr^   r   )r   Zcheier   r   r   ra      s   z"OverridesSpecialMethod.__getitem__Nrb   r   r   r   r   rc      r   rc   c                   @   r   )ParentClassc                 C   r;   r   r<   )r   r   r&   r   r   r   meth   r
   zParentClass.methNr   r   r   re   r   r   r   r   rd      r   rd   c                   @   r   )
ChildClassc                 C   r   r   r   )r   Z_argdummyr   r   r   re      r
   zChildClass.methNrf   r   r   r   r   rg      r   rg   N)r(   objectr   r   r   r   r   r#   dictr%   r*   r3   r6   rA   rH   rJ   rK   rN   rR   rT   rV   rW   rX   r[   r\   r_   rc   rd   rg   r   r   r   r   <module>   s6    		
