ó
î%![c           @   sy   d  d l  Z  d  d l Z d  d l m Z e  j d	 k Z d   Z d   Z e j e j d e  e j e j d e  d S(
   i˙˙˙˙N(   t
   exceptionsi   i   c          C   sű   t  j d  }  t s |  St  j d  } y0 t | d j    } t | d j    } Wn t j k
 ro |  SXx | | f D]v } xm | j j   D]\ \ } } | j	 d  r´ q n  | d } t
 | t  j  rĺ t  j | |  } n  | |  | <q Wq} W|  S(   Nsj   
    from multiprocessing.managers import SyncManager
    def Manager():
        return SyncManager()
    s   
    from multiprocessing.context import DefaultContext, BaseContext
    default = DefaultContext()
    base = BaseContext()
    t   defaultt   baset   _i    (   t   astroidt   parset   PY34t   nextt   inferR    t   InferenceErrort   localst   itemst
   startswitht
   isinstancet   FunctionDeft   BoundMethod(   t   modulet   nodet   contextR   t   keyt   value(    (    sB   lib/python2.7/site-packages/astroid/brain/brain_multiprocessing.pyt   _multiprocessing_transform   s(    		
c           C   s   t  j d  S(   Nsú  
    import array
    import threading
    import multiprocessing.pool as pool

    import six

    class Namespace(object):
        pass

    class Value(object):
        def __init__(self, typecode, value, lock=True):
            self._typecode = typecode
            self._value = value
        def get(self):
            return self._value
        def set(self, value):
            self._value = value
        def __repr__(self):
            return '%s(%r, %r)'%(type(self).__name__, self._typecode, self._value)
        value = property(get, set)

    def Array(typecode, sequence, lock=True):
        return array.array(typecode, sequence)

    class SyncManager(object):
        Queue = JoinableQueue = six.moves.queue.Queue
        Event = threading.Event
        RLock = threading.RLock
        BoundedSemaphore = threading.BoundedSemaphore
        Condition = threading.Condition
        Barrier = threading.Barrier
        Pool = pool.Pool
        list = list
        dict = dict
        Value = Value
        Array = Array
        Namespace = Namespace
        __enter__ = lambda self: self
        __exit__ = lambda *args: args
        
        def start(self, initializer=None, initargs=None):
            pass
        def shutdown(self):
            pass
    (   R   R   (    (    (    sB   lib/python2.7/site-packages/astroid/brain/brain_multiprocessing.pyt#   _multiprocessing_managers_transform4   s    -s   multiprocessing.managerst   multiprocessing(   i   i   (	   t   sysR   R    t   version_infoR   R   R   t   register_module_extendert   MANAGER(    (    (    sB   lib/python2.7/site-packages/astroid/brain/brain_multiprocessing.pyt   <module>   s   	%	1