o
    qoi                     @   s   d Z ddlZddlmZmZ ejG dd dZeddded	dded
dddddedddedddedddedddedddedddedddedddedddeddddZdeded dfd!d"Z	d#ed$ed efd%d&Z
dS )'z>Utilities for special overrides for codegen and serialization.    N)DictOptionalc                   @   sF   e Zd ZU dZeed< dZee ed< ej	e
dZeeef ed< dS )SpecialOverridesz(Overrides for codegen and serialization.module_nameNmodule_import_alias)default_factory#migrated_symbol_destination_modules)__name__
__module____qualname____doc__str__annotations__r   r   dataclassesfielddictr   r    r   r   Q/home/ubuntu/.local/lib/python3.10/site-packages/fiddle/_src/special_overrides.pyr      s   
 r   fiddle.configzimport fiddle as fdl)r   r   fiddlefiddle._src.configfiddle._src.partial)Partial
ArgFactory)r   r   r   fiddle._src.mutate_buildablezfiddle._src.copyingfiddle._src.experimentalzfrom fiddle import experimental$fiddle._src.experimental.auto_configz+from fiddle.experimental import auto_configfiddle._src.arg_factoryzfrom fiddle import arg_factoryfiddle._src.codegenzfrom fiddle import codegen+fiddle._src.codegen.py_val_to_cst_converterz1from fiddle.codgen import py_val_to_cst_converterfiddle._src.daglishzfrom fiddle import daglishfiddle._src.tagging)r   r   r   r   zfiddle._src.copyr   r   r   r   r   r    r   r!   r   special_overridesreturnc                 C   s   |t | < d S )N)SPECIAL_OVERRIDES_MAP)r   r"   r   r   r   register_special_override`   s   r%   modulesymbolc                 C   s(   | t v r|t |  jv rt |  j| S | S )a.  Optionally get overridden module qual name for migrated symbol.

  Args:
    module: the module where the symbol may have been originally present.
    symbol: the symbol that may have been migrated

  Returns:
    Overridden module name if the symbol was migrated, else the supplied module
    name.
  )r$   r   )r&   r'   r   r   r   ;maybe_get_module_override_for_migrated_serialization_symbolf   s   r(   )r   r   typingr   r   	dataclassr   r$   r   r%   r(   r   r   r   r   <module>   s   ;
