
    Yfz                     X    d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	  G d d      Z
y)    N)	lru_cache)CodeType)	FrozenSet)ByteCodeIndexc            
          e Zd ZU dZ eej                  D  ch c]7  }|j                  d      r$|j                  d      st
        j                  |   9 c}}}       Ze	e
   ed<   e ed      deded	efd
              Zyc c}}} w )ScaleneFuncUtilszLUtility class to determine whether a bytecode corresponds to function calls.CALLCALL_INTRINSIC_ScaleneFuncUtils__call_opcodesN)maxsizecodebyteireturnc                 R    t        fdt        j                  |       D              S )zDReturns true iff the bytecode at the given index is a function call.c              3   x   K   | ]1  }|j                   k(  xr |j                  t        j                  v  3 y w)N)offsetopcoder   r   ).0insr   s     Y/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/scalene/scalene_funcutils.py	<genexpr>z4ScaleneFuncUtils.is_call_function.<locals>.<genexpr>   sC      

  

e# BJJ"2"A"AAB
s   7:)anydisget_instructions)r   r   s    `r   is_call_functionz!ScaleneFuncUtils.is_call_function   s,      

 ++D1
 
 	
    )__name__
__module____qualname____doc__	frozensetr   opmap
startswithr   r   int__annotations__staticmethodr   r   r   boolr   )r   op_namer   s   000r   r   r   
   s    V &/ 99	
 	
!!&)&&'78 IIg	
&NIcN  t
x 
 
$ 
  
	
s   <Br   )r   sys	functoolsr   typesr   typingr   scalene.scalene_statisticsr   r    r   r   <module>r/      s!    
 
    4
 
r   