
    ܙd
                        d Z ddlZddlmZ ddlmZmZ ddlmZ ddl	m
Z
  e            Zde_         e            Zde_         e            Z G d d	e          Zd
 Zd Z G d de
          Zedk    r ej                     dS dS )z'
Test generic manipulation of objects.
    N)njit)compile_isolatedFlags)types)TestCaseTc                       e Zd ZdS )CN)__name__
__module____qualname__     8lib/python3.11/site-packages/numba/tests/test_objects.pyr	   r	      s        Dr   r	   c                     || _         d S Nx)ovs     r   setattr_usecaser      s    
ACCCr   c                 
    | ` d S r   r   )r   s    r   delattr_usecaser      s    	r   c                   6    e Zd ZefdZefdZefdZefdZdS )TestAttributesc                     t           }t          |t          j        t          j        f|          }|j        }t                      } ||d           |                     |j        d           d S Nflags{   )	r   r   r   pyobjectint32entry_pointr	   assertEqualr   selfr   pyfunccrcfunccs         r   test_setattrzTestAttributes.test_setattr!   sa     fu~u{&C5QQQCCac"""""r   c                    t           }t          |t          j        t          j        f|          }|j        }|                     t                    5   |t                      d           d d d            d S # 1 swxY w Y   d S r   )	r   r   r   r    r!   r"   assertRaisesAttributeErrorobjectr%   r   r&   r'   r(   s        r   test_setattr_attribute_errorz+TestAttributes.test_setattr_attribute_error)   s     fu~u{&C5QQQ~.. 	! 	!E&((C   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   A77A;>A;c                    t           }t          |t          j        f|          }|j        }t                      }d|_         ||           |                     t                    5  |j         d d d            d S # 1 swxY w Y   d S r   )	r   r   r   r    r"   r	   r   r,   r-   r$   s         r   test_delattrzTestAttributes.test_delattr1   s     fu~&7uEEECCa~.. 	 	CC	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   &A;;A?A?c                     t           }t          |t          j        f|          }|j        }|                     t                    5   |t                                 d d d            d S # 1 swxY w Y   d S )Nr   )r   r   r   r    r"   r,   r-   r	   r/   s        r   test_delattr_attribute_errorz+TestAttributes.test_delattr_attribute_error;   s     fu~&7uEEE~.. 	 	E!##JJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A++A/2A/N)r
   r   r   enable_pyobj_flagsr*   r0   r2   r4   r   r   r   r   r       sx        !3 # # # # 2D ! ! ! ! "4     2D      r   r   __main__)__doc__unittestnumbar   numba.core.compilerr   r   
numba.corer   numba.tests.supportr   r5   enable_pyobjectforce_pyobj_flagsforce_pyobjectno_pyobj_flagsr.   r	   r   r   r   r
   mainr   r   r   <module>rB      s6   
        7 7 7 7 7 7 7 7       ( ( ( ( ( (UWW %)  "EGG #'   	 	 	 	 	 	 	 	    ! ! ! ! !X ! ! !H zHMOOOOO r   