*ë
¹Èî;c       sã     d  Z     h  d d <d d <d d <d d <d	 d
 <d d <d d <d d <Z 1 y 2 e d i d ƒ d Z Wn 3 4 d Z n X9 d k Z : d k Z ? d k l Z @ d k TG d e f d „  ƒ  YZ	 d S(   s>   Gather information about a Python class from its parse tree.

s   $RCSfile: classinfo.py,v $s   module_names>   $Id: classinfo.py,v 1.1 2001/11/11 18:51:37 doughellmann Exp $s   rcs_ids    Doug Hellmann <doug@hellfly.net>s   creators   UNSPECIFIEDs   projects   Sun, 11-Nov-2001 10:54:26 ESTs   createds   $Author: doughellmann $s   authors   $Revision: 1.1 $s   versions   $Date: 2001/11/11 18:51:37 $s   dates    i   s   0.0N(   s   SuiteInfoBase(   s   *s	   ClassInfoc      sk   G d  Z  H J e e h  d „ Z ` d „  Z q d „  Z œ d „  Z   d „  Z ¤ d „  Z ¨ d „  Z RS(   s<   Gather information about a Python class from its parse tree.c  	  s‡   J V W t  i |  | d d | | i ƒ  X d | o	 | d p t Y d | ƒZ |  i | ƒ |  _	 \ |  i
 | ƒ |  _ ^ d Sd S(   s   Initialize the info extractor.

        Parameters:

            parent -- parent object for this class (e.g. Module)

            tree -- parse tree from which to extract information

            commentInfo -- comments extracted from the source file
            for this class

        i   i   s   trees   commentInfoN(   s   SuiteInfoBases   __init__s   selfs   trees   parents   getFilenames   Nones   commentInfos   _extractBaseClassess   _base_class_infos   _extractClassMemberss   _class_member_info(   s   selfs   parents   trees   commentInfo(    (    s]   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_0/happydoclib/parseinfo/classinfo.pys   __init__J s   #c    sÈ   ` a d g  } e x¨ | d d e r— } g | d t i j oz h xp | d d h r_ } i t t | ƒ \ } } k | o | i
 d ƒ o' m t | d ƒ } n | i | ƒ n qO Wn q Wo | Sd S(   sD   Returns a list of all base classes from which this class is derived.i   i    s   powerN(   s   base_class_namess   trees   subtrees   symbols   testlists   tests   lenientMatchs   BASE_CLASS_NAME_PATTERNs   founds   varss   has_keys   parseTreeToStrings   names   append(   s   selfs   trees   founds   tests   subtrees   base_class_namess   varss   name(    (    s]   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_0/happydoclib/parseinfo/classinfo.pys   _extractBaseClasses` s   	 	 	 c    s€  q s t t  i t  i t  i t  i t  i t  i t  i t  i t  i	 t  i
 t  i t  i t  i t  i t  i t  i t  i t  i t i d g f f f f f f f f f f f f f f f f f f f } Œ x? | d d Œ r. }  | d t  i j o Ž | }  Pn qÍ W‘ g  } “ xd | d d “ rS } ” t | • | – d d ƒ\ } } — | o | o ˜ | i | d ƒ n qWš | Sd S(   sO   Returns a list of all variable assignments
        in the class member context.s   member_namei   i    s   dbgN(   s   symbols   stmts   simple_stmts
   small_stmts	   expr_stmts   testlists   tests   and_tests   not_tests
   comparisons   exprs   xor_exprs   and_exprs
   shift_exprs
   arith_exprs   terms   factors   powers   atoms   tokens   NAMEs   CLASS_MEMBER_STMT_PATTERNs   trees   subtrees   suites	   search_ins   class_memberss   lenientMatchs   founds   varss   append(   s   selfs   trees   subtrees   founds	   search_ins   class_memberss   CLASS_MEMBER_STMT_PATTERNs   vars(    (    s]   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_0/happydoclib/parseinfo/classinfo.pys   _extractClassMembersq s    · 			 		c    s   œ  ž |  i i ƒ  Sd S(   s>   Returns a list of the names of methods defined for this class.N(   s   selfs   _function_infos   keys(   s   self(    (    s]   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_0/happydoclib/parseinfo/classinfo.pys   getMethodNamesœ s   c    s     ¡ ¢ |  i | Sd S(   sB   Returns a FunctionInfo object for the method 'name', if it exists.N(   s   selfs   _function_infos   name(   s   selfs   name(    (    s]   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_0/happydoclib/parseinfo/classinfo.pys   getMethodInfo  s   c    s   ¤ ¥ ¦ |  i Sd S(   s?   Returns a list of the names of the base classes for this class.N(   s   selfs   _base_class_info(   s   self(    (    s]   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_0/happydoclib/parseinfo/classinfo.pys   getBaseClassNames¤ s   c    s   ¨ © ª g  } « | Sd S(   sC   Returns a list of the names of all exceptions raised by this class.N(   s   exception_names(   s   selfs   exception_names(    (    s]   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_0/happydoclib/parseinfo/classinfo.pys   getExceptionNames¨ s   	(	   s   __doc__s   Nones   __init__s   _extractBaseClassess   _extractClassMemberss   getMethodNamess   getMethodInfos   getBaseClassNamess   getExceptionNames(    (    (    s]   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_0/happydoclib/parseinfo/classinfo.pys	   ClassInfoG s   	+(
   s   __doc__s   __rcs_info__s   splits   __version__s   symbols   tokens   happydoclib.parseinfo.suites   SuiteInfoBases   happydoclib.parseinfo.utilss	   ClassInfo(   s   __rcs_info__s   __version__s   SuiteInfoBases   symbols	   ClassInfos   token(    (    s]   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_0/happydoclib/parseinfo/classinfo.pys   ? s   Q
