ó
Nä²Wc           @@  sJ   d  d l  m Z d d l m Z d d l m Z d e f d „  ƒ  YZ d S(   i    (   t   absolute_importi   (   t   VisitorTransform(   t   StatListNodet   ExtractPxdCodec           B@  s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   sý  
    Finds nodes in a pxd file that should generate code, and
    returns them in a StatListNode.

    The result is a tuple (StatListNode, ModuleScope), i.e.
    everything that is needed from the pxd after it is processed.

    A purer approach would be to seperately compile the pxd code,
    but the result would have to be slightly more sophisticated
    than pure strings (functions + wanted interned strings +
    wanted utility code + wanted cached objects) so for now this
    approach is taken.
    c         C@  s5   g  |  _  |  j | ƒ t | j d |  j  ƒ| j f S(   Nt   stats(   t   funcst   visitchildrenR   t   post   scope(   t   selft   root(    (    sA   /bar/jli/Chip-seq/script/cython/Cython/Compiler/CodeGeneration.pyt   __call__   s    	c         C@  s   |  j  j | ƒ | S(   N(   R   t   append(   R	   t   node(    (    sA   /bar/jli/Chip-seq/script/cython/Cython/Compiler/CodeGeneration.pyt   visit_FuncDefNode   s    c         C@  s   |  j  | ƒ | S(   N(   R   (   R	   R   (    (    sA   /bar/jli/Chip-seq/script/cython/Cython/Compiler/CodeGeneration.pyt
   visit_Node!   s    (   t   __name__t
   __module__t   __doc__R   R   R   (    (    (    sA   /bar/jli/Chip-seq/script/cython/Cython/Compiler/CodeGeneration.pyR      s   		N(   t
   __future__R    t   VisitorR   t   NodesR   R   (    (    (    sA   /bar/jli/Chip-seq/script/cython/Cython/Compiler/CodeGeneration.pyt   <module>   s   