Index: third_party/cython/src/Cython/Compiler/Visitor.pxd |
diff --git a/third_party/cython/src/Cython/Compiler/Visitor.pxd b/third_party/cython/src/Cython/Compiler/Visitor.pxd |
new file mode 100644 |
index 0000000000000000000000000000000000000000..795eb9c2c6a3871b8f101bdb3b8b741d4ccae7a1 |
--- /dev/null |
+++ b/third_party/cython/src/Cython/Compiler/Visitor.pxd |
@@ -0,0 +1,50 @@ |
+cimport cython |
+ |
+cdef class TreeVisitor: |
+ cdef public list access_path |
+ cdef dict dispatch_table |
+ |
+ cpdef visit(self, obj) |
+ cdef _visit(self, obj) |
+ cdef find_handler(self, obj) |
+ cdef _visitchild(self, child, parent, attrname, idx) |
+ cdef dict _visitchildren(self, parent, attrs) |
+ cpdef visitchildren(self, parent, attrs=*) |
+ |
+cdef class VisitorTransform(TreeVisitor): |
+ cpdef visitchildren(self, parent, attrs=*) |
+ cpdef recurse_to_children(self, node) |
+ |
+cdef class CythonTransform(VisitorTransform): |
+ cdef public context |
+ cdef public current_directives |
+ |
+cdef class ScopeTrackingTransform(CythonTransform): |
+ cdef public scope_type |
+ cdef public scope_node |
+ cdef visit_scope(self, node, scope_type) |
+ |
+cdef class EnvTransform(CythonTransform): |
+ cdef public list env_stack |
+ |
+cdef class MethodDispatcherTransform(EnvTransform): |
+ @cython.final |
+ cdef _visit_binop_node(self, node) |
+ @cython.final |
+ cdef _find_handler(self, match_name, bint has_kwargs) |
+ @cython.final |
+ cdef _delegate_to_assigned_value(self, node, function, arg_list, kwargs) |
+ @cython.final |
+ cdef _dispatch_to_handler(self, node, function, arg_list, kwargs) |
+ @cython.final |
+ cdef _dispatch_to_method_handler(self, attr_name, self_arg, |
+ is_unbound_method, type_name, |
+ node, function, arg_list, kwargs) |
+ |
+cdef class RecursiveNodeReplacer(VisitorTransform): |
+ cdef public orig_node |
+ cdef public new_node |
+ |
+cdef class NodeFinder(TreeVisitor): |
+ cdef node |
+ cdef public bint found |