[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