[pypy-svn] r9394 - pypy/dist/pypy/translator

pedronis at codespeak.net pedronis at codespeak.net
Mon Feb 21 23:21:13 CET 2005


Author: pedronis
Date: Mon Feb 21 23:21:13 2005
New Revision: 9394

Modified:
   pypy/dist/pypy/translator/geninterplevel.py
   pypy/dist/pypy/translator/translator.py
Log:
do not change default setting globally, consider e.g a test situation etc...



Modified: pypy/dist/pypy/translator/geninterplevel.py
==============================================================================
--- pypy/dist/pypy/translator/geninterplevel.py	(original)
+++ pypy/dist/pypy/translator/geninterplevel.py	Mon Feb 21 23:21:13 2005
@@ -45,9 +45,6 @@
 
 from pypy.tool.sourcetools import render_docstr
 
-# change default
-FlowObjSpace.builtins_can_raise_exceptions = True
-
 # ____________________________________________________________
 
 def c_string(s):
@@ -1405,7 +1402,7 @@
     # extract certain stuff like a general module maker
     # and put this into tools/compile_exceptions, maybe???
     dic, entrypoint = exceptions_helper()
-    t = Translator(None, verbose=False, simplifying=True)
+    t = Translator(None, verbose=False, simplifying=True, builtins_can_raise_exceptions=True)
     gen = GenRpy(t, entrypoint)
     gen.moddict = dic
     gen.gen_source('/tmp/look.py')
@@ -1422,7 +1419,7 @@
     dic = None
     if entrypoint.__name__.endswith("_helper"):
         dic, entrypoint = entrypoint()
-    t = Translator(entrypoint, verbose=False, simplifying=True)
+    t = Translator(entrypoint, verbose=False, simplifying=True, builtins_can_raise_exceptions=True)
     gen = GenRpy(t)
     gen.use_fast_call = True
     if dic: gen.moddict = dic
@@ -1442,7 +1439,7 @@
     def test():
         entrypoint()
         
-    t = Translator(test, verbose=False, simplifying=True)
+    t = Translator(test, verbose=False, simplifying=True, builtins_can_raise_exceptions=True)
     gen2 = GenRpy(t)
     gen2.gen_source("/tmp/look2.py")
 
@@ -1472,7 +1469,7 @@
     exec code in dic
     del dic['__builtins__']
     entrypoint = dic
-    t = Translator(None, verbose=False, simplifying=True)
+    t = Translator(None, verbose=False, simplifying=True, builtins_can_raise_exceptions=True)
     gen = GenRpy(t, entrypoint, modname, dic)
     if tmpname:
         out = file(tmpname, 'w')

Modified: pypy/dist/pypy/translator/translator.py
==============================================================================
--- pypy/dist/pypy/translator/translator.py	(original)
+++ pypy/dist/pypy/translator/translator.py	Mon Feb 21 23:21:13 2005
@@ -45,10 +45,11 @@
 
 class Translator:
 
-    def __init__(self, func=None, verbose=False, simplifying=False):
+    def __init__(self, func=None, verbose=False, simplifying=False, builtins_can_raise_exceptions=False):
         self.entrypoint = func
         self.verbose = verbose
         self.simplifying = simplifying
+        self.builtins_can_raise_exceptions = builtins_can_raise_exceptions
         self.clear()
 
     def clear(self):
@@ -74,6 +75,7 @@
                     func.__name__)
             assert not self.frozen
             space = FlowObjSpace()
+            space.builtins_can_raise_exceptions = self.builtins_can_raise_exceptions 
             graph = space.build_flow(func)
             if self.simplifying:
                 simplify_graph(graph)



More information about the Pypy-commit mailing list