← Back
Editing: intrinsic.cpython-311.pyc
� cR�aX � � � d Z ddlmZ ddlmZmZ ddlmZ ddlm Z m Z mZmZ ddl Z G d� de� � Z e� � Zd Z G d � de� � Z G d� d e� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d � d!e� � Z G d"� d#e� � Z G d$� d%e� � Z G d&� d'e� � Z! G d(� d)e!e� � Z" G d*� d+e!e� � Z# G d,� d-e!e� � Z$ G d.� d/e!e� � Z%dS )0zF This module contains all classes used to model intrinsics behavior. � ��to_ast)� UNKNOWN_RANGE�bool_values)�extract_combiner)�Any�Union�Fun� GeneratorNc � � e Zd ZdZdS )�UnboundValueTypez; Represents a new location, bound to no identifier N��__name__� __module__�__qualname__�__doc__� � �3/usr/lib/python3/dist-packages/pythran/intrinsic.pyr r s � � � � � �� � � r r � c � � e Zd ZdS )�UpdateEffectN�r r r r r r r r � � � � � � ��Dr r c � � e Zd ZdS )� ReadEffectNr r r r r r r r r c � � e Zd ZdS )�ReadOnceEffectNr r r r r r r r r c �H � e Zd ZdZd� Zd� Zd� Zd� Zd� Zd� Z d� Z d � Zd � ZdS )� Intrinsicat Model any Method/Function. Its member variables are: - argument_effects that describes the effect of the function on its argument (either UpdateEffect, ReadEffect or ReadOnceEffect) - global_effects that describes whether the function has side effects - return_alias that describes the aliasing between the return value and the parameters. The lambda returns an ast expression, generally depending on the node arguments (see dict.setdefault) - args that describes the name and default value of each arg, using the same representation as ast.FunctionDef, i.e. ast.arguments c �6 � |� dt � � ft z � � | _ |� dd� � | _ |� dd� � � | _ t j d� |� dg � � D � � g d d� |� d g � � D � � g d d � |� dg � � D � � � � | _ |� dd � � � | _ |� dd� � � | _ d S )N�argument_effects�global_effectsF�return_aliasc � � t hS �N)�UnboundValue)�xs r �<lambda>z$Intrinsic.__init__.<locals>.<lambda>9 s � �,�� r c �^ � g | ]*}t j |t j � � d d � � ��+S r&