ó
'![c           @   s  d  Z  d d l m Z e d d d g ƒ Z e d d ƒ Z e d d	 ƒ Z e d
 d ƒ Z e d d ƒ Z e e e e g Z d e	 f d „  ƒ  YZ
 d „  Z d e
 f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e
 f d „  ƒ  YZ d Z d S(   s   Interfaces for Pylint objectsiÿÿÿÿ(   t
   namedtuplet
   Confidencet   namet   descriptiont   HIGHs   No false positive possible.t	   INFERENCEs"   Warning based on inference result.t   INFERENCE_FAILUREs)   Warning based on inference with failures.t	   UNDEFINEDs0   Warning without any associated confidence level.t	   Interfacec           B   s   e  Z d  Z e d „  ƒ Z RS(   s   Base class for interfaces.c         C   s   t  | |  ƒ S(   N(   t
   implements(   t   clst   instance(    (    s0   lib/python2.7/site-packages/pylint/interfaces.pyt   is_implemented_by   s    (   t   __name__t
   __module__t   __doc__t   classmethodR   (    (    (    s0   lib/python2.7/site-packages/pylint/interfaces.pyR      s   c         C   s[   t  |  d d ƒ } t | t t f ƒ s3 | f } n  x! | D] } t | | ƒ r: t Sq: Wt S(   s^   Return true if the give object (maybe an instance or class) implements
    the interface.
    t   __implements__(    (   t   getattrt
   isinstancet   listt   tuplet
   issubclasst   Truet   False(   t   objt	   interfacet   kimplementst   implementedinterface(    (    s0   lib/python2.7/site-packages/pylint/interfaces.pyR	   "   s    t   ICheckerc           B   s    e  Z d  Z d „  Z d „  Z RS(   si   This is an base interface, not designed to be used elsewhere than for
    sub interfaces definition.
    c         C   s   d S(   s3   called before visiting project (i.e set of modules)N(    (   t   self(    (    s0   lib/python2.7/site-packages/pylint/interfaces.pyt   open4   s    c         C   s   d S(   s2   called after visiting project (i.e set of modules)N(    (   R   (    (    s0   lib/python2.7/site-packages/pylint/interfaces.pyt   close7   s    (   R   R   R   R   R    (    (    (    s0   lib/python2.7/site-packages/pylint/interfaces.pyR   /   s   	t   IRawCheckerc           B   s   e  Z d  Z d „  Z RS(   s;   interface for checker which need to parse the raw file
    c         C   s   d S(   sY    process a module

        the module's content is accessible via astroid.stream
        N(    (   R   t   astroid(    (    s0   lib/python2.7/site-packages/pylint/interfaces.pyt   process_module?   s    (   R   R   R   R#   (    (    (    s0   lib/python2.7/site-packages/pylint/interfaces.pyR!   ;   s   t   ITokenCheckerc           B   s   e  Z d  Z d „  Z RS(   s:   Interface for checkers that need access to the token list.c         C   s   d S(   s[   Process a module.

        tokens is a list of all source code tokens in the file.
        N(    (   R   t   tokens(    (    s0   lib/python2.7/site-packages/pylint/interfaces.pyt   process_tokensH   s    (   R   R   R   R&   (    (    (    s0   lib/python2.7/site-packages/pylint/interfaces.pyR$   F   s   t   IAstroidCheckerc           B   s   e  Z d  Z RS(   sX    interface for checker which prefers receive events according to
    statement type
    (   R   R   R   (    (    (    s0   lib/python2.7/site-packages/pylint/interfaces.pyR'   O   s   t	   IReporterc           B   s    e  Z d  Z d „  Z d „  Z RS(   sL    reporter collect messages and display results encapsulated in a layout
    c         C   s   d S(   s    Handle the given message object.N(    (   R   t   msg(    (    s0   lib/python2.7/site-packages/pylint/interfaces.pyt   handle_messageY   s    c         C   s   d S(   s8   display results encapsulated in the layout tree
        N(    (   R   t   layout(    (    s0   lib/python2.7/site-packages/pylint/interfaces.pyt   display_reports\   s    (   R   R   R   R*   R,   (    (    (    s0   lib/python2.7/site-packages/pylint/interfaces.pyR(   U   s   	N(   R!   R'   R$   R(   (   R   t   collectionsR    R   R   R   R   R   t   CONFIDENCE_LEVELSt   objectR   R	   R   R!   R$   R'   R(   t   __all__(    (    (    s0   lib/python2.7/site-packages/pylint/interfaces.pyt   <module>   s"   				