Файловый менеджер - Редактировать - /opt/imh-python/lib/python3.9/site-packages/jedi/inference/compiled/__pycache__/mixed.cpython-39.pyc
Ðазад
a j�hn, � @ sL d Z ddlZddlmZ ddlmZ ddlmZ ddlm Z ddl mZ ddlm Z dd lmZ dd lmZmZmZ ddlmZ ddlmZmZ dd lmZmZ ddlmZ ddlmZm Z m!Z! e"� Z#G dd� de�Z$G dd� dee!�Z%G dd� de e%�Z&G dd� de�Z'G dd� dej(�Z)e� dd� �Z*dd� Z+dd� Z,e� d d!� �Z-dS )"z Used only for REPL Completion. � N)�Path)�get_cached_code_lines)�settings)�memoize_method)�compiled)�FileIO)�NameWrapper)�ValueSet�ValueWrapper� NO_VALUES)�ModuleValue)�inference_state_function_cache�inference_state_method_cache)�ALLOWED_GETITEM_TYPES�get_api_type)�to_stub)�CompiledContext�CompiledModuleContext�TreeContextMixinc s� e Zd ZdZ� fdd�Zdd� Zdd� Zeed�d d � �Z e fdd�Zed d� �Z dd� Zdd� Zdd� Zdd� Zdd� Z� ZS )�MixedObjecta� A ``MixedObject`` is used in two ways: 1. It uses the default logic of ``parser.python.tree`` objects, 2. except for getattr calls and signatures. The names dicts are generated in a fashion like ``CompiledValue``. This combined logic makes it possible to provide more powerful REPL completion. It allows side effects that are not noticable with the default parser structure to still be completable. The biggest difference from CompiledValue to MixedObject is that we are generally dealing with Python code and not with C code. This will generate fewer special cases, because we in Python you don't have the same freedoms to modify the runtime. c s t � �|� || _|j| _d S �N)�super�__init__�compiled_value� access_handle)�selfr � tree_value�� __class__� ��/root/rpmbuild/BUILDROOT/imh-python39-modules-3.9.7-92.el8.x86_64/opt/imh-python/lib/python3.9/site-packages/jedi/inference/compiled/mixed.pyr , s zMixedObject.__init__c o s t | j| j| j�V d S r )�MixedObjectFilter�inference_stater �_wrapped_value�r �args�kwargsr r r �get_filters1 s �zMixedObject.get_filtersc C s | j �� S r )r �get_signatures�r r r r r( 5 s zMixedObject.get_signatures)�defaultc C s t | j�}|s| j}|�|�S r )r r# � py__call__)r � arguments�valuesr r r r+ : s zMixedObject.py__call__c C s"