merge
[cython.git] / Cython / Compiler / ParseTreeTransforms.pxd
1
2 cimport cython
3
4 from Cython.Compiler.Visitor cimport (
5     CythonTransform, VisitorTransform, TreeVisitor,
6     ScopeTrackingTransform, EnvTransform)
7
8 cdef class NameNodeCollector(TreeVisitor):
9     cdef list name_nodes
10
11 cdef class SkipDeclarations: # (object):
12     pass
13
14 cdef class NormalizeTree(CythonTransform):
15     cdef bint is_in_statlist
16     cdef bint is_in_expr
17     cpdef visit_StatNode(self, node, is_listcontainer=*)
18
19 cdef class PostParse(ScopeTrackingTransform):
20     cdef dict specialattribute_handlers
21     cdef size_t lambda_counter
22     cdef size_t genexpr_counter
23     cdef _visit_assignment_node(self, node, list expr_list)
24
25
26 #def eliminate_rhs_duplicates(list expr_list_list, list ref_node_sequence)
27 #def sort_common_subsequences(list items)
28 @cython.locals(starred_targets=Py_ssize_t, lhs_size=Py_ssize_t, rhs_size=Py_ssize_t)
29 cdef flatten_parallel_assignments(list input, list output)
30 cdef map_starred_assignment(list lhs_targets, list starred_assignments, list lhs_args, list rhs_args)
31
32 #class PxdPostParse(CythonTransform, SkipDeclarations):
33 #class InterpretCompilerDirectives(CythonTransform, SkipDeclarations):
34 #class WithTransform(CythonTransform, SkipDeclarations):
35 #class DecoratorTransform(CythonTransform, SkipDeclarations):
36
37 #class AnalyseDeclarationsTransform(CythonTransform):
38
39 cdef class AnalyseExpressionsTransform(CythonTransform):
40     pass
41
42 cdef class ExpandInplaceOperators(EnvTransform):
43     pass
44
45 cdef class AlignFunctionDefinitions(CythonTransform):
46     cdef dict directives
47     cdef scope
48
49 cdef class YieldNodeCollector(TreeVisitor):
50     cdef public list yields
51     cdef public list returns
52     cdef public bint has_return_value
53
54 cdef class MarkClosureVisitor(CythonTransform):
55     cdef bint needs_closure
56
57 cdef class CreateClosureClasses(CythonTransform):
58     cdef list path
59     cdef bint in_lambda
60     cdef module_scope
61     cdef generator_class
62
63 cdef class GilCheck(VisitorTransform):
64     cdef list env_stack
65     cdef bint nogil
66
67 cdef class TransformBuiltinMethods(EnvTransform):
68     cdef visit_cython_attribute(self, node)