File: //lib/python3/dist-packages/pip/_vendor/pyparsing/__pycache__/actions.cpython-310.pyc
o
@%Ne � @ sp d dl mZ d dlmZ G dd� d�Zdd� Zdd� Zd d
� Zdd� Ze � e_
ddd�ZeZeZ
eZeZeZdS )� )�ParseException)�colc @ s( e Zd ZdZdd� Zdd� Zdd� ZdS ) �OnlyOncezI
Wrapper for parse actions, to ensure they are only called once.
c C s ddl m} ||�| _d| _d S )Nr )�_trim_arityF)�corer �callable�called)�self�method_callr � r �?/usr/lib/python3/dist-packages/pip/_vendor/pyparsing/actions.py�__init__ s
zOnlyOnce.__init__c C s* | j s| �|||�}d| _ |S t||d��)NTz.OnlyOnce obj called multiple times w/out reset)r r r )r �s�l�t�resultsr r r �__call__ s
zOnlyOnce.__call__c C s
d| _ dS )zK
Allow the associated parse action to be called once more.
FN)r )r r r r �reset s
zOnlyOnce.resetN)�__name__�
__module__�__qualname__�__doc__r
r r r r r r r s
r c s � fdd�}|S )zt
Helper method for defining parse actions that require matching at
a specific column in the input text.
c s$ t || �� krt| |d�� ���d S )Nzmatched token not at column {})r r �format)�strg�locn�toks��nr r �
verify_col'