← Back
Editing: utils.cpython-311.pyc
� ���c� � �d � d dl Z d dlZd dlZd dlmZmZmZ d dlmZmZ d dl m Z mZmZm Z mZmZmZmZ d dlmZ ed� � Z ed� � Zdefd �Zd e e dee fd�Zd ede j deeef fd�Zdee de eeef fd�Zdedefd�Zeed�d�Zdeeef defd�Zdeeef de eeef fd�Z deeef deeef fd�Z!de e deegef deeee f fd�Z" G d� de#� � Z$d� Z%d#d!�Z&d"� Z'dS )$� N)�OrderedDict�Counter�defaultdict)� FrameType� TracebackType)�Iterator�List�Tuple�Iterable�Callable�Union�TypeVar�Mapping)�ASTText�T�R� max_lengthc � � t | � � |k rC|t |� � z dz }|t |� � z |z }| d |� |z | | d � z } | S )N� )�len)�seqr �middle�right�lefts �2/usr/lib/python3/dist-packages/stack_data/utils.py�truncater sc � � �3�x�x�*����c�&�k�k�)�a�/���C��K�K�'�%�/���%�4�%�j�6�!�C�����L�0���J� �it�returnc �D � t t j | � � � � S �N)�listr �fromkeys)r s r �unique_in_orderr$ s � ���$�R�(�(�)�)�)r �atok�nodec � � t |t t dd� � � � r:t | |j � � \ }}t | |j d � � \ }}||fS | � |d�� � \ \ }}\ }}||dz fS )z� Returns a pair of numbers representing a half open range (i.e. suitable as arguments to the `range()` builtin) of line numbers of the given AST nodes. � match_case� ���F)�padded� )� isinstance�getattr�ast� line_range�pattern�body�get_text_positions)r% r&