Your IP : 216.73.216.196
B
��\� � @ s� d Z ddlZddlmZ ddlmZ G dd� d�ZG dd� d�ZG d d
� d
�ZG dd� de�ZG d
d� de�Z G dd� d�Z
G dd� d�ZdS )z:This module contains some mixins for the different nodes.
� N)�
decorators)�
exceptionsc @ s( e Zd ZdZejdd� �Zddd�ZdS )�BlockRangeMixInzoverride block range c C s | j S )N)�lineno)�self� r �?/opt/alt/python37/lib/python3.7/site-packages/astroid/mixins.py�blockstart_tolineno s z#BlockRangeMixIn.blockstart_tolinenoNc C sR || j kr||fS |rD||d j kr2||d jfS ||d j d fS ||pN| jfS )z^handle block line numbers range for try/finally, for, if and while
statements
r ���� )Z
fromlinenoZtolineno)r r ZorelseZlastr r r �_elsed_block_range s
z"BlockRangeMixIn._elsed_block_range)N)�__name__�
__module__�__qualname__�__doc__r �cachedpropertyr r r r r r r s r c @ s e Zd ZdZdd� Zdd� ZdS )�FilterStmtsMixinz1Mixin for statement filtering and assignment typec C s | � � |kr|gdfS |dfS )z@method used in _filter_stmts to get statements and trigger breakTF)� statement)r �_�node�_stmts�mystmtr r r �_get_filtered_stmts, s
z$FilterStmtsMixin._get_filtered_stmtsc C s | S )Nr )r r r r �assign_type4 s zFilterStmtsMixin.assign_typeN)r
r r r r r r r r r r ) s r c @ s e Zd Zdd� Zdd� ZdS )�AssignTypeMixinc C s | S )Nr )r r r r r 9 s zAssignTypeMixin.assign_typec C s. | |kr|dfS | � � |kr&|gdfS |dfS )zmethod used in filter_stmtsTF)r )r Zlookup_noder r r r r r r <