§
|<ˆjÕ1 ã óˆ — d Z ddlmZ ddlZddlmZ ddlmZmZ ddl m
Z
mZmZ ddl
mZ ddlmZmZmZmZ dd lmZ dd
lmZmZ ej d¦ « Zej dk r
dd
lmZ ddlmZ nddlmZ ddl m!Z ed¦ « Z" G d„ dej# ¦ « Z$ G d„ dej% ¦ « Z& G d„ de
j' ¦ « Z( G d„ de
j' ¦ « Z) G d„ de
j* ¦ « Z+ G d„ de
j* ¦ « Z, G d„ de
j* ¦ « Z- G d„ d ej. ¦ « Z/ej% e)fej0 _1 G d!„ d"ej. ¦ « Z2dS )#a"
Inference objects are a way to represent composite AST nodes,
which are used only as inference results, so they can't be found in the
original AST tree. For instance, inferring the following frozenset use,
leads to an inferred FrozenSet:
Call(func=Name('frozenset'), args=Tuple(...))
é )ÚannotationsN)Ú Generator)ÚAnyÚTypeVar)ÚbasesÚ
decoratorsÚutil)ÚInferenceContext)ÚAttributeInferenceErrorÚInferenceErrorÚMroErrorÚ
SuperError)ÚAstroidManager)Únode_classesÚscoped_nodeszinterpreter.objectmodel)é é )Úcached_property)ÚLiteral)ÚcachedpropertyÚ_Tc ó: — e Zd ZdZdd„Zd
dd
„Zed„ ¦ « ZdS )Ú FrozenSetz.Class representing a FrozenSet composite node.ÚreturnúLiteral['builtins.frozenset']c ó — dS )Nzbuiltins.frozenset© ©Úselfs úa/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/astroid/objects.pyÚpytypezFrozenSet.pytype/ s € Ø#Ð#ó NÚcontextúInferenceContext | NoneÚkwargsr c + ó K — | V — d S ©Nr ©r r# r% s r Ú_inferzFrozenSet._infer2 ó è è € ؈
ˆ
ˆ
ˆ
ˆ
r" c ó^ — t ¦ « j }| d¦ « d S )NÚ frozensetr ©r Úbuiltins_moduleÚgetattr©r Úast_builtinss r Ú_proxiedzFrozenSet._proxied5 s) € å%Ñ'Ô'Ô7ˆØ×#Ò# KÑ0Ô0°Ô3Ð3r" )r r r' ©r# r$ r% r )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r! r) r r2 r r" r r r , sb € € € € € Ø8Ð8ð$ð $ð $ð $ðð ð ð ð ð ð4ð 4ñ „_ð4ð 4ð 4r" r c ó® ‡ — e Zd ZdZ ej d„ ¦ « Zˆ fd„Zddd „Zd
„ Z e
d„ ¦ « Zdd„Zdd„Z
ed„ ¦ « Zdd„Z ddd„Zddd„Zˆ xZS )ÚSuperaá Proxy class over a super call.
This class offers almost the same behaviour as Python's super,
which is MRO lookups for retrieving attributes from the parents.
The *mro_pointer* is the place in the MRO from where we should
start looking, not counting it. *mro_type* is the object which
provides the MRO, it can be both a type or an instance.
*self_class* is the class where the super call is, while
*scope* is the function where the super call is.
c ó4 — t ¦ « S r' )ÚobjectmodelÚ
SuperModelr r" r ú