File: //usr/lib/python3/dist-packages/twisted/python/__pycache__/reflect.cpython-310.pyc
o
�b P � @ s d Z ddlZddlZddlZddlZddlZddlZddlZddlm Z ddl
mZmZ ddl
mZmZ ddlmZ ddlmZ ee�d��Zd d
� ZdKdd�ZdLd
d�ZdMdd�Zdd� Zdd� ZeZdKdd�ZG dd� de �Z!G dd� de"�Z#G dd� de#�Z$G dd� de#�Z%dd � Z&d!d"� Z'd#d$� Z(d%d&� Z)d'd(� Z*d)d*� Z+d+eej,ee- f d,e.d-e-fd.d/�Z/d0d1� Z0d,e.d-e-fd2d3�Z1G d4d5� d5�Z2d6d7� Z3d8d9� Z4dKd:d;�Z5dKd<d=�Z6d>d?� Z7d@dA� Z8dBdC� Z9dDdE� Z:dFdG� Z;e8dddddfdHdI�Z<g dJ�Z=e=�>dI� dS )Nzt
Standardized versions of various cool and/or strange things that you can do
with Python's reflection capabilities.
� N)�deque)�IOBase�StringIO)�Type�Union)�nativeString)�_fullyQualifiedName� c C � i }t | ||� t|�� �S )a�
Given a class object C{classObj}, returns a list of method names that match
the string C{prefix}.
@param classObj: A class object from which to collect method names.
@param prefix: A native string giving a prefix. Each method with a name
which begins with this prefix will be returned.
@type prefix: L{str}
@return: A list of the names of matching methods of C{classObj} (and base
classes of C{classObj}).
@rtype: L{list} of L{str}
)�addMethodNamesToDict�list�keys)�classObj�prefix�dct� r �8/usr/lib/python3/dist-packages/twisted/python/reflect.py�prefixedMethodNames s r c C s� | j D ] }t||||� q|du s|| j v rA| j�� D ]'\}}|t|�d� }t|�tju r@|dt|�� |kr@t|�r@d||<