o
    "j                     @   s<   d dl mZ d dlmZ ddlmZ g ZG dd deZdS )    )ast_to_source_code)gast   )BaseTransformerc                   @   s(   e Zd ZdZdd Zdd Zdd ZdS )	CastTransformerzC
    This class transforms type casting into Static Graph Ast.
    c                 C   s   || _ h d| _d S )N>   boolfloatint)root_castable_type)selfr
    r   f/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddle/jit/dy2static/cast_transformer.py__init__   s   zCastTransformer.__init__c                 C   s   |  | j d S )N)visitr
   )r   r   r   r   	transform    s   zCastTransformer.transformc                 C   sn   |  | t|j }|| jv r5t|jdkr5t|jd  }d| d| d}t|j	d j
}|S |S )Nr   z_jst.AsDtype(z, 'z'))generic_visitr   funcstripr   lenargsr   parsebodyvalue)r   nodeZfunc_strargs_strZnew_func_strnew_noder   r   r   
visit_Call#   s   
zCastTransformer.visit_CallN)__name__
__module____qualname____doc__r   r   r   r   r   r   r   r      s
    r   N)Zpaddle.jit.dy2static.utilsr   Zpaddle.utilsr   Zbase_transformerr   __all__r   r   r   r   r   <module>   s
   