# HG changeset patch
# User Stefan Behnel <stefan_ml@behnel.de>
# Date 1587721250 -7200
#      Fri Apr 24 11:40:50 2020 +0200
# Node ID d840581e8419ead00dc49c9277630675de69811e
# Parent  b0221b4f0966a78b978a790227e0d7284e16dfb2
Avoid some unnecessary traversal in "ForwardDeclareTypes".

diff --git a/Cython/Compiler/ParseTreeTransforms.py b/Cython/Compiler/ParseTreeTransforms.py
--- a/Cython/Compiler/ParseTreeTransforms.py
+++ b/Cython/Compiler/ParseTreeTransforms.py
@@ -1510,6 +1510,10 @@
 
 
 class ForwardDeclareTypes(CythonTransform):
+    """
+    Declare all global cdef names that we allow referencing in other places,
+    before declaring everything (else) in source code order.
+    """
 
     def visit_CompilerDirectivesNode(self, node):
         env = self.module_scope
@@ -1553,6 +1557,14 @@
                     entry.type.get_all_specialized_function_types()
         return node
 
+    def visit_FuncDefNode(self, node):
+        # no traversal needed
+        return node
+
+    def visit_PyClassDefNode(self, node):
+        # no traversal needed
+        return node
+
 
 class AnalyseDeclarationsTransform(EnvTransform):