[pypy-svn] r16750 - in pypy/release/0.7.x/pypy: interpreter/astcompiler interpreter/stablecompiler lib/_stablecompiler
ludal at codespeak.net
ludal at codespeak.net
Sat Aug 27 14:07:29 CEST 2005
Author: ludal
Date: Sat Aug 27 14:07:26 2005
New Revision: 16750
Modified:
pypy/release/0.7.x/pypy/interpreter/astcompiler/future.py
pypy/release/0.7.x/pypy/interpreter/stablecompiler/future.py
pypy/release/0.7.x/pypy/lib/_stablecompiler/future.py
Log:
fix compiler errors for test_future
Modified: pypy/release/0.7.x/pypy/interpreter/astcompiler/future.py
==============================================================================
--- pypy/release/0.7.x/pypy/interpreter/astcompiler/future.py (original)
+++ pypy/release/0.7.x/pypy/interpreter/astcompiler/future.py Sat Aug 27 14:07:26 2005
@@ -31,9 +31,14 @@
for name, asname in stmt.names:
if name in self.features:
self.found[name] = 1
+ elif name=="*":
+ raise SyntaxError(
+ "future statement does not support import *",
+ ( stmt.filename, stmt.lineno, 0, "" ) )
else:
- raise SyntaxError, \
- "future feature %s is not defined" % name
+ raise SyntaxError(
+ "future feature %s is not defined" % name,
+ ( stmt.filename, stmt.lineno, 0, "" ) )
stmt.valid_future = 1
return 1
return 0
@@ -43,14 +48,17 @@
return self.found.keys()
class BadFutureParser(ast.ASTVisitor):
- """Check for invalid future statements"""
+ """Check for invalid future statements
+ Those not marked valid are appearing after other statements
+ """
def visitFrom(self, node):
if hasattr(node, 'valid_future'):
return
if node.modname != "__future__":
return
- raise SyntaxError, "invalid future statement"
+ raise SyntaxError( "from __future__ imports must occur at the beginning of the file",
+ ( node.filename, node.lineno, 0, "" ) )
def find_futures(node):
p1 = FutureParser()
Modified: pypy/release/0.7.x/pypy/interpreter/stablecompiler/future.py
==============================================================================
--- pypy/release/0.7.x/pypy/interpreter/stablecompiler/future.py (original)
+++ pypy/release/0.7.x/pypy/interpreter/stablecompiler/future.py Sat Aug 27 14:07:26 2005
@@ -31,9 +31,14 @@
for name, asname in stmt.names:
if name in self.features:
self.found[name] = 1
+ elif name=="*":
+ raise SyntaxError(
+ "future statement does not support import *",
+ ( stmt.filename, stmt.lineno, 0, "" ) )
else:
- raise SyntaxError, \
- "future feature %s is not defined" % name
+ raise SyntaxError(
+ "future feature %s is not defined" % name,
+ ( stmt.filename, stmt.lineno, 0, "" ) )
stmt.valid_future = 1
return 1
return 0
@@ -43,14 +48,17 @@
return self.found.keys()
class BadFutureParser:
- """Check for invalid future statements"""
+ """Check for invalid future statements
+ Those not marked valid are appearing after other statements
+ """
def visitFrom(self, node):
if hasattr(node, 'valid_future'):
return
if node.modname != "__future__":
return
- raise SyntaxError, "invalid future statement"
+ raise SyntaxError( "from __future__ imports must occur at the beginning of the file",
+ ( node.filename, node.lineno, 0, "" ) )
def find_futures(node):
p1 = FutureParser()
Modified: pypy/release/0.7.x/pypy/lib/_stablecompiler/future.py
==============================================================================
--- pypy/release/0.7.x/pypy/lib/_stablecompiler/future.py (original)
+++ pypy/release/0.7.x/pypy/lib/_stablecompiler/future.py Sat Aug 27 14:07:26 2005
@@ -32,9 +32,14 @@
for name, asname in stmt.names:
if name in self.features:
self.found[name] = 1
+ elif name=="*":
+ raise SyntaxError(
+ "future statement does not support import *",
+ ( stmt.filename, stmt.lineno, 0, "" ) )
else:
- raise SyntaxError, \
- "future feature %s is not defined" % name
+ raise SyntaxError(
+ "future feature %s is not defined" % name,
+ ( stmt.filename, stmt.lineno, 0, "" ) )
stmt.valid_future = 1
return 1
return 0
@@ -44,14 +49,17 @@
return self.found.keys()
class BadFutureParser:
- """Check for invalid future statements"""
+ """Check for invalid future statements
+ Those not marked valid are appearing after other statements
+ """
def visitFrom(self, node):
if hasattr(node, 'valid_future'):
return
if node.modname != "__future__":
return
- raise SyntaxError, "invalid future statement"
+ raise SyntaxError( "from __future__ imports must occur at the beginning of the file",
+ ( node.filename, node.lineno, 0, "" ) )
def find_futures(node):
p1 = FutureParser()
More information about the Pypy-commit
mailing list