o
    tBhL                     @  s   U d dl mZ d dlZd dlZd dlZd dlmZmZmZm	Z	m
Z
 d dlmZ d dlmZ d dlmZmZ d dlmZmZ G dd	 d	Zh d
Zded< eh dB dh Zded< G dd dZdS )    )annotationsN)AnyCallableDictMappingPattern)Final)defaults)	ErrorCodeerror_codes)get_class_descriptorsreplace_object_statec                   @  s2   e Zd ZU dZded< dZded< dZded< dS )		BuildTyper   r   STANDARD   MODULE   PROGRAM_TEXTN)__name__
__module____qualname__r   __annotations__r   r    r   r   c/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/mypy/options.pyr      s   
 r   >%   mypycalways_truedebug_cachealways_falseignore_errorsfollow_importswarn_no_returnstrict_equalitystrict_optionalwarn_return_anyshow_none_errorswarn_unreachabledisallow_any_exprenable_error_codeimplicit_reexportallow_redefinitioncheck_untyped_defsdisable_error_codestrict_concatenateenabled_error_codeslocal_partial_typeswarn_unused_ignoresdisabled_error_codesno_implicit_optionalallow_untyped_globalsdisallow_any_explicitdisallow_any_genericsdisallow_untyped_defsdisallow_any_decorateddisallow_untyped_callsignore_missing_importsdisallow_any_unimporteddisallow_incomplete_defsdisallow_subclassing_anyfollow_imports_for_stubsstrict_optional_whitelistdisallow_untyped_decoratorsr   PER_MODULE_OPTIONS>   bazelpluginsplatformr   OPTIONS_AFFECTING_CACHEc                   @  sn   e Zd ZdZd ddZed!ddZd"d
dZd#ddZd$ddZ	d ddZ
d%ddZd&ddZd'ddZdS )(OptionszOptions collected from flags.returnNonec                 C  s  d | _ tj| _tjd d | _tj| _tj	| _	d | _
d | _d | _g | _i | _d| _d| _d| _d| _d| _d| _d| _d| _g | _d| _d| _d| _d| _d| _d| _d| _d| _d| _ d| _!d| _"d| _#d| _$d| _%d| _&d| _'d| _(d| _)d| _*d| _+d| _,d| _-d | _.d| _/d| _0d| _1d| _2d| _3d| _4d| _5d| _6g | _7g | _8g | _9t: | _;g | _<t: | _=d| _>d | _?d | _@d | _Ad | _Bd| _CtDjE| _Fd| _Gd| _Hd| _Id| _Jd| _Kd| _Ld| _Md| _Nd| _Od| _Pg | _Qi | _Rg | _St: | _Td| _Ud| _Vd| _Wd| _Xd| _Yd| _Zd| _[d| _\d | _]d| _^d| __d | _`d| _ad| _bd| _cd| _dd| _ed| _fd| _gd| _hd| _id| _jg | _ki | _ld| _md| _nd | _od| _pd| _qd| _rtDjs| _td| _ud S )Nr   FnormalTr   )v_per_module_cacher   r   
build_typesysversion_infopython_version
executablepython_executablerB   custom_typing_modulecustom_typeshed_dirabs_custom_typeshed_dir	mypy_pathreport_dirsno_silence_site_packagesno_site_packagesr8   !ignore_missing_imports_per_moduler   r<   namespace_packagesexplicit_package_basesexcluder4   r9   r&   r6   r3   r7   r5   r:   r*   r>   r;   warn_incomplete_stubwarn_redundant_castsr    r#   r/   warn_unused_configsr   r"   show_error_contextcolor_outputerror_summaryr=   r$   r1   r(   r2   r)   r!   r,   r%   r   r   r+   setr0   r'   r-   scripts_are_modulesconfig_filequickstart_filefiles	junit_xmlincrementalr	   	CACHE_DIR	cache_dirsqlite_cacher   skip_version_checkskip_cache_mtime_checksfine_grained_incrementalcache_fine_graineduse_fine_grained_cacher   inspectionspreserve_astsrA   per_module_options_glob_optionsunused_configs	verbositypdbshow_tracebackraise_exceptionsdump_type_statsdump_inference_statsdump_build_statsenable_incomplete_featurestiming_statssemantic_analysis_onlyuse_builtins_fixturesshadow_fileshow_column_numbersshow_error_endshow_error_codespretty
dump_graph	dump_depslogical_depsr.   r@   export_typespackage_root	cache_map	fast_exitfast_module_lookuptransform_sourceshow_absolute_pathinstall_typesnon_interactiveMANY_ERRORS_THRESHOLDmany_errors_thresholdenable_recursive_aliasesselfr   r   r   __init__E   s   
zOptions.__init__boolc                 C  s   dS )NTr   r   r   r   r   new_semantic_analyzerF  s   zOptions.new_semantic_analyzerobjectc                 C  sT   t t| dd}ttD ]}t| |r|dkrt| |||< qdd | D }|S )z,Produce a comparable snapshot of this Option__dict__r   r   c                 S  s    i | ]\}}| d s||qS )_)
startswith).0kvr   r   r   
<dictcomp>R       z$Options.snapshot.<locals>.<dictcomp>)dictgetattrr   rD   hasattritems)r   dr   r   r   r   snapshotJ  s   zOptions.snapshotstrc                 C  s   dt |   dS )NzOptions())pprintpformatr   r   r   r   r   __repr__U  s   zOptions.__repr__changesdict[str, object]c                 C  s   t  }t|| dd | D ]
\}}t||| q|dr!d|_| j |_| j |_|j	D ]}t
| }|j| |j| q0|jD ]}t
| }|j| |j| qF|S )NT)	copy_dictr8   )rD   r   r   setattrgetrV   r0   copyr-   r+   r   adddiscardr'   )r   r   new_optionskeyvaluecode_strcoder   r   r   apply_changesX  s"   


zOptions.apply_changesc                 C  s   i | _ dd | j D }dd | j D }tdd |D }dd |D }|D ]}| j|| |f q)t|| _|| D ]}| 	|}|
| j| | j |< q@| j| d S )Nc                 S  s    g | ]}d |dd v r|qS *Nr   r   r   r   r   r   
<listcomp>  r   z2Options.build_per_module_cache.<locals>.<listcomp>c                 S  s    g | ]}d |dd vr|qS r   r   r   r   r   r   r     r   c                 s  s    | ]
}| d r|V  qdS ).*Nendswithr   r   r   r   	<genexpr>  s    z1Options.build_per_module_cache.<locals>.<genexpr>c                 S  s   g | ]	}| d s|qS )r   r   r   r   r   r   r     s    )rH   rq   keyssortedrr   appendcompile_globr`   rs   clone_for_moduler   update)r   unstructured_glob_keysstructured_keys	wildcardsconcreteglobr   optionsr   r   r   build_per_module_cacher  s   

zOptions.build_per_module_cachemodulec                 C  s   | j du r	|   | j dusJ || j v r | j| | j | S | }|d}tt|ddD ] }d|d| dg }|| j v rO| j| | j | } nq/|dsp| j	D ]\}}|
|ro| j| || j| }qX|S )zCreate an Options object that incorporates per-module options.

        NOTE: Once this method is called all Options objects should be
        considered read-only, else the caching might be incorrect.
        N.r   r   r   r   )rH   r   rs   r   splitrangelenjoinr   rr   matchr   rq   )r   r   r   pathir   patternr   r   r   r     s,   







zOptions.clone_for_modulesPattern[str]c                 C  sf   | d}|d dkrt|d nd}|dd  D ]}||dkr(td| nd7 }qt|d S )Nr   r   r   r   r   z(\..*)?z\Z)r   reescapecompile)r   r   partsexprpartr   r   r   r     s
   
 zOptions.compile_globMapping[str, object]c                 C  s>   i }t D ]}t| |}|dv rtdd |D }|||< q|S )N)r0   r-   c                 S  s   g | ]}|j qS r   )r   )r   r   r   r   r   r     s    z:Options.select_options_affecting_cache.<locals>.<listcomp>)rC   r   r   )r   resultoptvalr   r   r   select_options_affecting_cache  s   

z&Options.select_options_affecting_cacheN)rE   rF   )rE   r   )rE   r   )rE   r   )r   r   rE   rD   )r   r   rE   rD   )r   r   rE   r   )rE   r   )r   r   r   __doc__r   propertyr   r   r   r   r   r   r   r   r   r   r   r   rD   B   s    
  




+
+
rD   )
__future__r   r   r   rJ   typingr   r   r   r   r   typing_extensionsr   mypyr	   mypy.errorcodesr
   r   	mypy.utilr   r   r   r?   r   rC   rD   r   r   r   r   <module>   s    
)