From: Eric Smith Date: Wed, 19 Mar 2008 02:11:30 +0000 (+0000) Subject: Fixed compiler module so __future__ print_function is compilable. X-Git-Tag: v2.6a2~244 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5d5c63f462683e971a4a2d877e78946554aacbf3;p=python Fixed compiler module so __future__ print_function is compilable. --- diff --git a/Lib/compiler/consts.py b/Lib/compiler/consts.py index c79e814beb..dd42793aa9 100644 --- a/Lib/compiler/consts.py +++ b/Lib/compiler/consts.py @@ -19,3 +19,4 @@ CO_GENERATOR_ALLOWED = 0 CO_FUTURE_DIVISION = 0x2000 CO_FUTURE_ABSIMPORT = 0x4000 CO_FUTURE_WITH_STATEMENT = 0x8000 +CO_FUTURE_PRINT_FUNCTION = 0x10000 diff --git a/Lib/compiler/future.py b/Lib/compiler/future.py index fef189e9e9..d94fcddc7e 100644 --- a/Lib/compiler/future.py +++ b/Lib/compiler/future.py @@ -16,7 +16,7 @@ def is_future(stmt): class FutureParser: features = ("nested_scopes", "generators", "division", - "absolute_import", "with_statement") + "absolute_import", "with_statement", "print_function") def __init__(self): self.found = {} # set diff --git a/Lib/compiler/pycodegen.py b/Lib/compiler/pycodegen.py index 5d227b87fe..61b9fe9bb6 100644 --- a/Lib/compiler/pycodegen.py +++ b/Lib/compiler/pycodegen.py @@ -10,7 +10,7 @@ from compiler import pyassem, misc, future, symbols from compiler.consts import SC_LOCAL, SC_GLOBAL, SC_FREE, SC_CELL from compiler.consts import (CO_VARARGS, CO_VARKEYWORDS, CO_NEWLOCALS, CO_NESTED, CO_GENERATOR, CO_FUTURE_DIVISION, - CO_FUTURE_ABSIMPORT, CO_FUTURE_WITH_STATEMENT) + CO_FUTURE_ABSIMPORT, CO_FUTURE_WITH_STATEMENT, CO_FUTURE_PRINT_FUNCTION) from compiler.pyassem import TupleArg # XXX The version-specific code can go, since this code only works with 2.x. @@ -218,6 +218,8 @@ class CodeGenerator: self.graph.setFlag(CO_FUTURE_ABSIMPORT) elif feature == "with_statement": self.graph.setFlag(CO_FUTURE_WITH_STATEMENT) + elif feature == "print_function": + self.graph.setFlag(CO_FUTURE_PRINT_FUNCTION) def initClass(self): """This method is called once for each class"""