summaryrefslogtreecommitdiffstats
path: root/contrib/tools/cython/Cython/Compiler/FlowControl.pxd
diff options
context:
space:
mode:
authornik-bes <[email protected]>2025-05-19 07:20:13 +0300
committernik-bes <[email protected]>2025-05-19 07:36:02 +0300
commit317b7368e24941ff76499f500579fd9b10f6656e (patch)
treeabbcbaea595e7d2e9f23cf59a408b3082fe4340d /contrib/tools/cython/Cython/Compiler/FlowControl.pxd
parent6b666a52d40308ab9b3532cd8d3008b9f37cfffb (diff)
Update Cython to 3.0.10.
commit_hash:b43c96b868cd36d636192fd2c6024d9f0d2fb6f8
Diffstat (limited to 'contrib/tools/cython/Cython/Compiler/FlowControl.pxd')
-rw-r--r--contrib/tools/cython/Cython/Compiler/FlowControl.pxd102
1 files changed, 51 insertions, 51 deletions
diff --git a/contrib/tools/cython/Cython/Compiler/FlowControl.pxd b/contrib/tools/cython/Cython/Compiler/FlowControl.pxd
index c87370b819a..5338d4fe490 100644
--- a/contrib/tools/cython/Cython/Compiler/FlowControl.pxd
+++ b/contrib/tools/cython/Cython/Compiler/FlowControl.pxd
@@ -1,30 +1,30 @@
-from __future__ import absolute_import
+# cython: language_level=3
cimport cython
from .Visitor cimport CythonTransform, TreeVisitor
cdef class ControlBlock:
- cdef public set children
- cdef public set parents
- cdef public set positions
- cdef public list stats
- cdef public dict gen
- cdef public set bounded
-
- # Big integer bitsets
- cdef public object i_input
- cdef public object i_output
- cdef public object i_gen
- cdef public object i_kill
- cdef public object i_state
-
- cpdef bint empty(self)
- cpdef detach(self)
- cpdef add_child(self, block)
+ cdef public set children
+ cdef public set parents
+ cdef public set positions
+ cdef public list stats
+ cdef public dict gen
+ cdef public set bounded
+
+ # Big integer bitsets
+ cdef public object i_input
+ cdef public object i_output
+ cdef public object i_gen
+ cdef public object i_kill
+ cdef public object i_state
+
+ cpdef bint empty(self)
+ cpdef detach(self)
+ cpdef add_child(self, block)
cdef class ExitBlock(ControlBlock):
- cpdef bint empty(self)
+ cpdef bint empty(self)
cdef class NameAssignment:
cdef public bint is_arg
@@ -36,6 +36,7 @@ cdef class NameAssignment:
cdef public set refs
cdef public object bit
cdef public object inferred_type
+ cdef public object rhs_scope
cdef class AssignmentList:
cdef public object bit
@@ -47,51 +48,50 @@ cdef class AssignmentCollector(TreeVisitor):
@cython.final
cdef class ControlFlow:
- cdef public set blocks
- cdef public set entries
- cdef public list loops
- cdef public list exceptions
+ cdef public set blocks
+ cdef public set entries
+ cdef public list loops
+ cdef public list exceptions
+
+ cdef public ControlBlock entry_point
+ cdef public ExitBlock exit_point
+ cdef public ControlBlock block
- cdef public ControlBlock entry_point
- cdef public ExitBlock exit_point
- cdef public ControlBlock block
+ cdef public dict assmts
- cdef public dict assmts
+ cdef public Py_ssize_t in_try_block
- cpdef newblock(self, ControlBlock parent=*)
- cpdef nextblock(self, ControlBlock parent=*)
- cpdef bint is_tracked(self, entry)
- cpdef bint is_statically_assigned(self, entry)
- cpdef mark_position(self, node)
- cpdef mark_assignment(self, lhs, rhs, entry)
- cpdef mark_argument(self, lhs, rhs, entry)
- cpdef mark_deletion(self, node, entry)
- cpdef mark_reference(self, node, entry)
+ cpdef newblock(self, ControlBlock parent=*)
+ cpdef nextblock(self, ControlBlock parent=*)
+ cpdef bint is_tracked(self, entry)
+ cpdef bint is_statically_assigned(self, entry)
+ cpdef mark_position(self, node)
+ cpdef mark_assignment(self, lhs, rhs, entry, rhs_scope=*)
+ cpdef mark_argument(self, lhs, rhs, entry)
+ cpdef mark_deletion(self, node, entry)
+ cpdef mark_reference(self, node, entry)
- @cython.locals(block=ControlBlock, parent=ControlBlock, unreachable=set)
- cpdef normalize(self)
+ @cython.locals(block=ControlBlock, parent=ControlBlock, unreachable=set)
+ cpdef normalize(self)
- @cython.locals(bit=object, assmts=AssignmentList,
- block=ControlBlock)
- cpdef initialize(self)
+ @cython.locals(bit=object, assmts=AssignmentList, block=ControlBlock)
+ cpdef initialize(self)
- @cython.locals(assmts=AssignmentList, assmt=NameAssignment)
- cpdef set map_one(self, istate, entry)
+ @cython.locals(assmts=AssignmentList, assmt=NameAssignment)
+ cpdef set map_one(self, istate, entry)
- @cython.locals(block=ControlBlock, parent=ControlBlock)
- cdef reaching_definitions(self)
+ @cython.locals(block=ControlBlock, parent=ControlBlock)
+ cdef reaching_definitions(self)
cdef class Uninitialized:
- pass
+ pass
cdef class Unknown:
pass
-
cdef class MessageCollection:
cdef set messages
-
@cython.locals(dirty=bint, block=ControlBlock, parent=ControlBlock,
assmt=NameAssignment)
cdef check_definitions(ControlFlow flow, dict compiler_directives)
@@ -101,11 +101,11 @@ cdef class ControlFlowAnalysis(CythonTransform):
cdef object gv_ctx
cdef object constant_folder
cdef set reductions
- cdef list env_stack
- cdef list stack
+ cdef list stack # a stack of (env, flow) tuples
cdef object env
cdef ControlFlow flow
+ cdef object object_expr
cdef bint in_inplace_assignment
- cpdef mark_assignment(self, lhs, rhs=*)
+ cpdef mark_assignment(self, lhs, rhs=*, rhs_scope=*)
cpdef mark_position(self, node)