+
    VBi'                     N    R t ^RIHt ^RIHt  ! R R4      t]! 4       tRR ltR# )z
This module deals with interpreting the parse tree as Python
would have done, in the compiler.

For now this only covers parse tree to value conversion of
compile-time values.
)DictNode)CompileErrorc                   &   a  ] tR t^t o R tRtV tR# )
EmptyScopec                    R # )N )selfnames   &&@/usr/lib/python3.14/site-packages/Cython/Compiler/Interpreter.pylookupEmptyScope.lookup   s        r   N)__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell__)__classdict__s   @r
   r   r      s      r   r   Nc                j  aa VV3R lpV '       d%   \        V 4       UUu. uF  w  rVV! We4      NK  	  p ppV'       dn   \        V\        4      '       g   Q h/ pVP                   FA  pV! VP                  R4      w  rV! VP
                  VP                  P
                  4      Wy&   KC  	  TpV X3# u uppi )a   
Tries to interpret a list of compile time option nodes.
The result will be a tuple (optlist, optdict) but where
all expression nodes have been interpreted. The result is
in the form of tuples (value, pos).

optlist is a list of nodes, while optdict is a DictNode (the
result optdict is a dict)

If type_env is set, all type nodes will be analysed and the resulting
type set. Otherwise only interpretateable ExprNodes
are allowed, other nodes raises errors.

A CompileError will be raised if there are problems.
c                   < VS9   d[   S'       d=   V P                  S4      pV'       g   \        V P                  R 4      hW P                  3# \        V P                  R4      hV P                  \        4      V P                  3# )zInvalid type.zType not allowed here.)analyse_as_typer   poscompile_time_valueempty_scope)nodeixtype	type_argstype_envs   && r
   	interpret0interpret_compiletime_options.<locals>.interpret%   sj    ?++H5&txxAAhh''"488-EFF''4dhh??r   N)	enumerate
isinstancer   key_value_pairskeyvalue)optlistoptdictr   r   r    r   xnew_optdictitemnew_keydummys   &&ff       r
   interpret_compiletime_optionsr.      s    "	@ 1:71CD1C9Q#1CD'8,,,,++D&txx6NG#,TZZ#HK  , [!! Es   B/)Nr   )__doc__	ExprNodesr   Errorsr   r   r   r.   r   r   r
   <module>r2      s*         l%"r   