
    eB                    6   d Z ddlmZ ddlZddlmZ ddlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZ erddlmZ ddlmZ ddlmZ dd	lmZ  G d
 de      Z G d de      Z G d de      Z G d de      Z  G d de      Z!ed   Z"	 e
e#ede#e$e%ee#   eee#e%ee#   f      ed   e	egef   e	eeeegef   f	   f   Z&eee#e&f   df   Z'e	dded   gdf   Z(	  G d ded      Z)eee#e#e#f   ee#e#e#e)f   f   Z*e
eeejV                  df   f   Z, G d de      Z-y) z!A collection of typing utilities.    )annotationsN)Path)TYPE_CHECKINGAnyCallableDictIterableLiteral
NamedTupleOptionalPatternProtocolTupleType	TypedDictUnion)_CallbackAction)Project)Section)LinterStatsc                  0    e Zd ZU dZded<   ded<   ded<   y)FileItemzRepresents data about a file handled by pylint.

    Each file item has:
    - name: full name of the module
    - filepath: path of the file
    - modname: module name
    strnamefilepathmodpathN__name__
__module____qualname____doc____annotations__     //usr/lib/python3/dist-packages/pylint/typing.pyr   r   #   s     IMLr$   r   c                  D    e Zd ZU dZded<   ded<   ded<   ded<   ded<   y	)
ModuleDescriptionDictz'Represents data about a checked module.r   pathr   boolisargbasepathbasenameNr   r#   r$   r%   r'   r'   1   s    1
I
IKMMr$   r'   c                  0    e Zd ZU dZded<   ded<   ded<   y)	ErrorDescriptionDictzCRepresents data about errors collected during checking of a module.zLiteral['fatal']keyr   modzImportError | SyntaxErrorexNr   r#   r$   r%   r.   r.   ;   s    M		H!!r$   r.   c                  j    e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded	<   d
Zded<   d
Zded<   y
)MessageLocationTuplezGTuple with information about the location of a to-be-displayed message.r   abspathr(   moduleobjintlinecolumnN
int | Noneend_line
end_column)r   r   r    r!   r"   r;   r<   r#   r$   r%   r3   r3   C   s7    QL
IK	H
IKHj!J
!r$   r3   c                  D    e Zd ZU dZded<   ded<   ded<   ded<   d	ed
<   y)ManagedMessagez=Tuple with information about a managed message of the linter.
str | Noner   r   msgidsymbolr:   r8   r)   is_disabledNr   r#   r$   r%   r>   r>   P   s!    G
JK
r$   r>   )
conventionerrorfatalinforefactor	statementwarningr   .r   r   c                  N    e Zd ZU dZded<   ded<   ded<   ded<   d	ed
<   d	ed<   y)ExtraMessageOptionsz>All allowed keys in the extra options for message definitions.r   scopezlist[tuple[str, str]]	old_namesztuple[int, int]
maxversion
minversionr)   shareddefault_enabledNr   r#   r$   r%   rK   rK   u   s'    HJ$$Lr$   rK   F)totalDirectoryNamespaceDictc                      e Zd ZdddZy)GetProjectCallablec                     y )Nr#   )selfr5   r   s      r%   __call__zGetProjectCallable.__call__   s    r$   N)zNo Name)r5   r   r   r?   returnr   )r   r   r    rX   r#   r$   r%   rU   rU      s    r$   rU   ).r!   
__future__r   argparsepathlibr   typingr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   pylint.config.callback_actionsr   pylint.pyreverse.inspectorr   pylint.reporters.ureports.nodesr   pylint.utilsr   r   r'   r.   r3   r>   MessageTypesFullNamer   r)   r7   
OptionDictOptionsReportsCallablerK   MessageDefinitionTuple	NamespacerS   rU   r#   r$   r%   <module>rh      s  
 ( "     " >27(z I "9 "
": 
"Z  N  ' 	sC-./##sC%s*+	-

 c:o&+
, I}h}6MNPTTU ")5  	#sC-	#sC,
,-/  dE(*<*<>V*V$WWX  r$   