Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Unified Diff: third_party/cython/src/Cython/Compiler/CodeGeneration.py

Issue 385073004: Adding cython v0.20.2 in third-party. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reference cython dev list thread. Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/cython/src/Cython/Compiler/CodeGeneration.py
diff --git a/third_party/cython/src/Cython/Compiler/CodeGeneration.py b/third_party/cython/src/Cython/Compiler/CodeGeneration.py
new file mode 100644
index 0000000000000000000000000000000000000000..f446d9e92340bb4d8c23bfaa0661488b18c88693
--- /dev/null
+++ b/third_party/cython/src/Cython/Compiler/CodeGeneration.py
@@ -0,0 +1,32 @@
+from Cython.Compiler.Visitor import VisitorTransform
+from Cython.Compiler.Nodes import StatListNode
+
+class ExtractPxdCode(VisitorTransform):
+ """
+ Finds nodes in a pxd file that should generate code, and
+ returns them in a StatListNode.
+
+ The result is a tuple (StatListNode, ModuleScope), i.e.
+ everything that is needed from the pxd after it is processed.
+
+ A purer approach would be to seperately compile the pxd code,
+ but the result would have to be slightly more sophisticated
+ than pure strings (functions + wanted interned strings +
+ wanted utility code + wanted cached objects) so for now this
+ approach is taken.
+ """
+
+ def __call__(self, root):
+ self.funcs = []
+ self.visitchildren(root)
+ return (StatListNode(root.pos, stats=self.funcs), root.scope)
+
+ def visit_FuncDefNode(self, node):
+ self.funcs.append(node)
+ # Do not visit children, nested funcdefnodes will
+ # also be moved by this action...
+ return node
+
+ def visit_Node(self, node):
+ self.visitchildren(node)
+ return node
« no previous file with comments | « third_party/cython/src/Cython/Compiler/Code.py ('k') | third_party/cython/src/Cython/Compiler/CythonScope.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698