[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