File: //usr/local/lib/python3.10/dist-packages/greenlet/tests/__pycache__/test_generator.cpython-310.pyc
o
���g� � @ sL d dl m Z ddlmZ G dd� de �Zdd� Zdd � ZG d
d� de�ZdS )
� )�greenlet� )�TestCasec @ s4 e Zd ZdZdd� Zdd� Zdd� Zdd � ZeZdS )
�genletNc O s || _ || _d S �N)�args�kwds)�selfr r � r
�H/usr/local/lib/python3.10/dist-packages/greenlet/tests/test_generator.py�__init__ s
zgenlet.__init__c C s | j \}|| ji | j�� d S r )�fnr r )r r
r
r
r �run s z
genlet.runc C s | S r r
)r r
r
r �__iter__ s zgenlet.__iter__c C s t �� | _| �� }| r
|S t�r )r �
getcurrent�parent�switch�
StopIteration)r �resultr
r
r �__next__ s
zgenlet.__next__) �__name__�
__module__�__qualname__r r r r r �nextr
r
r
r r s r c C sB t �� }t|t�s|d u rtd��|j}t|t�r |j�| � d S )Nzyield outside a genlet)r r �
isinstancer �RuntimeErrorr r )�value�gr
r
r �Yield s
�r c s G � fdd�dt �}|S )Nc s e Zd Z� fZdS )zgenerator.<locals>.GeneratorN)r r r r
r
��funcr
r � Generator( s
r! )r )r r! r
r r � generator'