[Python-checkins] peps: PEP 511: update bytecode example

victor.stinner python-checkins at python.org
Fri Feb 12 19:29:14 EST 2016


https://hg.python.org/peps/rev/2807dda1f92f
changeset:   6231:2807dda1f92f
user:        Victor Stinner <victor.stinner at gmail.com>
date:        Sat Feb 13 01:29:05 2016 +0100
summary:
  PEP 511: update bytecode example

files:
  pep-0511.txt |  21 ++++++++++++++++++---
  1 files changed, 18 insertions(+), 3 deletions(-)


diff --git a/pep-0511.txt b/pep-0511.txt
--- a/pep-0511.txt
+++ b/pep-0511.txt
@@ -443,14 +443,29 @@
 ``"Ni! Ni!  Ni!"``::
 
     import sys
+    import types
 
     class BytecodeTransformer:
         name = "knights_who_say_ni"
 
-        def code_transformer(self, code, consts, names, lnotab, context):
+        def code_transformer(self, code, context):
             consts = ['Ni! Ni! Ni!' if isinstance(const, str) else const
-                      for const in consts]
-            return (code, consts, names, lnotab)
+                      for const in code.co_consts]
+            return types.CodeType(code.co_argcount,
+                                  code.co_kwonlyargcount,
+                                  code.co_nlocals,
+                                  code.co_stacksize,
+                                  code.co_flags,
+                                  code.co_code,
+                                  tuple(consts),
+                                  code.co_names,
+                                  code.co_varnames,
+                                  code.co_filename,
+                                  code.co_name,
+                                  code.co_firstlineno,
+                                  code.co_lnotab,
+                                  code.co_freevars,
+                                  code.co_cellvars)
 
     # replace existing code transformers with the new bytecode transformer
     sys.set_code_transformers([BytecodeTransformer()])

-- 
Repository URL: https://hg.python.org/peps


More information about the Python-checkins mailing list