B
    _«ÄV·  ã               @   sJ   d dl Zd dlmZ d dlT G dd„ dejƒZG dd„ dejƒZejZdS )é    N)Úpynames)Ú*c               @   sD   e Zd Zddd„Ze dd„ ¡dd„ ƒZdd	„ Zd
d„ Zdd„ Z	dS )ÚAssignedNameNc             C   s6   || _ || _g | _t| jt |¡ƒ| _| j |¡ d S )N)	ÚlinenoÚmoduleÚassignmentsÚ	_InferredÚ_get_inferredr   Z_get_concluded_dataÚpyobjectÚset)Úselfr   r   r
   © r   ú3lib/python3.7/site-packages/rope/base/pynamesdef.pyÚ__init__   s    zAssignedName.__init__c               C   s   d S )Nr   r   r   r   r   Ú<lambda>   s    zAssignedName.<lambda>c             C   s   | j d k	rtjjj | ¡S d S )N)r   ÚropeÚbaseÚoiÚsoiZinfer_assigned_object)r   r   r   r   r	      s    
zAssignedName._get_inferredc             C   s
   | j  ¡ S )N)r
   Úget)r   r   r   r   Ú
get_object   s    zAssignedName.get_objectc             C   s,   | j dkr | jr | jd  ¡ | _ | j| j fS )z Returns a (module, lineno) tupleNr   )r   r   Z
get_linenor   )r   r   r   r   Úget_definition_location   s    z$AssignedName.get_definition_locationc             C   s   | j  d¡ dS )z)Forget the `PyObject` this `PyName` holdsN)r
   r   )r   r   r   r   Ú
invalidate   s    zAssignedName.invalidate)NNN)
Ú__name__Ú
__module__Ú__qualname__r   ZutilsZprevent_recursionr	   r   r   r   r   r   r   r   r      s
   
r   c               @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚParameterNamec             C   s   || _ || _d S )N)Ú
pyfunctionÚindex)r   r   r   r   r   r   r   %   s    zParameterName.__init__c             C   s&   | j  | j¡}|d kr"tjj ¡ }|S )N)r   Zget_parameterr   r   r   Z	pyobjectsZget_unknown)r   Úresultr   r   r   r   )   s    zParameterName.get_objectc             C   s   t jjj | j| j¡S )z4Returns the list of objects passed as this parameter)r   r   r   r   Zget_passed_objectsr   r   )r   r   r   r   Úget_objects/   s    
zParameterName.get_objectsc             C   s   | j  ¡ | j  ¡ jfS )N)r   Z
get_moduleZget_astr   )r   r   r   r   r   4   s    z%ParameterName.get_definition_locationN)r   r   r   r   r   r    r   r   r   r   r   r   #   s   r   )Zrope.base.oi.soir   Z	rope.baser   Zrope.base.pynamesr   r   r   r   r   r   r   Ú<module>   s
   