Author: Manuel Jacob
Branch: refactor-translator
Changeset: r61788:d4dc8f3093c8
Date: 2013-02-25 20:45 +0100
http://bitbucket.org/pypy/pypy/changeset/d4dc8f3093c8/

Log:    Kill all redundant task methods in Translation (eg. rtype_lltype,
        source_c) and the possibility to pass options to the remaining ones.

diff --git a/rpython/translator/c/test/test_genc.py 
b/rpython/translator/c/test/test_genc.py
--- a/rpython/translator/c/test/test_genc.py
+++ b/rpython/translator/c/test/test_genc.py
@@ -116,7 +116,7 @@
             t.view()
     except AttributeError:
         pass
-    t.compile_c()
+    t.compile()
     ll_res = graphof(t.context, fn).getreturnvar().concretetype
 
     def output(stdout):
@@ -461,7 +461,7 @@
 
     t = Translation(f, [], backend="c")
     t.annotate()
-    t.compile_c()
+    t.compile()
     if py.test.config.option.view:
         t.view()
     assert hasattr(ctypes.CDLL(str(t.driver.c_entryp)), 'pypy_xyz_f')
@@ -477,7 +477,7 @@
 
     t = Translation(f, [], backend="c", 
secondaryentrypoints="test_entrypoints42")
     t.annotate()
-    t.compile_c()
+    t.compile()
     if py.test.config.option.view:
         t.view()
     assert hasattr(ctypes.CDLL(str(t.driver.c_entryp)), 'foobar')
@@ -496,7 +496,7 @@
     export_struct("BarStruct", foo._obj)
     t = Translation(f, [], backend="c")
     t.annotate()
-    t.compile_c()
+    t.compile()
     if py.test.config.option.view:
         t.view()
     assert hasattr(ctypes.CDLL(str(t.driver.c_entryp)), 'BarStruct')
@@ -562,7 +562,7 @@
     t = Translation(main, [int], backend="c")
     t.rtype()
     t.context._graphof(foobar_fn).inhibit_tail_call = True
-    t.source_c()
+    t.source()
     lines = t.driver.cbuilder.c_source_filename.join('..',
                               
'rpython_translator_c_test_test_genc.c').readlines()
     for i, line in enumerate(lines):
diff --git a/rpython/translator/interactive.py 
b/rpython/translator/interactive.py
--- a/rpython/translator/interactive.py
+++ b/rpython/translator/interactive.py
@@ -46,96 +46,30 @@
             self.config.translation.gc = gc
         self.config.translation.set(**kwds)
 
-    def ensure_opt(self, name, value=None, fallback=None):
-        if value is not None:
-            self.update_options({name: value})
-            return value
-        val = getattr(self.config.translation, name, None)
-        if fallback is not None and val is None:
-            self.update_options({name: fallback})
-            return fallback
-        if val is not None:
-            return val
-        raise Exception(
-                    "the %r option should have been specified at this point" % 
name)
-
-    def ensure_type_system(self, type_system=None):
-        if self.config.translation.backend is not None:
-            return self.ensure_opt('type_system')
-        return self.ensure_opt('type_system', type_system, 'lltype')
-
-    def ensure_backend(self, backend=None):
-        backend = self.ensure_opt('backend', backend)
-        self.ensure_type_system()
-        return backend
-
     def set_backend_extra_options(self, **extra_options):
         for name in extra_options:
             backend, option = name.split('_', 1)
-            self.ensure_backend(backend)
+            assert self.config.translation.backend == backend
         self.driver.set_backend_extra_options(extra_options)
 
     # backend independent
 
     def annotate(self, **kwds):
-        self.update_options(kwds)
         return self.driver.annotate()
 
     # type system dependent
 
-    def rtype(self, **kwds):
-        self.update_options(kwds)
+    def rtype(self):
         return self.driver.rtype()
 
-    def backendopt(self, **kwds):
-        self.update_options(kwds)
+    def backendopt(self):
         return self.driver.backendopt()
 
     # backend depedent
 
-    def source(self, **kwds):
-        self.update_options(kwds)
+    def source(self):
         return self.driver.source()
 
-    def source_c(self, **kwds):
-        self.update_options(kwds)
-        self.ensure_backend('c')
-        self.driver.source()
-
-    def source_cl(self, **kwds):
-        self.update_options(kwds)
-        self.ensure_backend('cl')
-        self.driver.source()
-
-    def compile(self, **kwds):
-        self.update_options(kwds)
+    def compile(self):
         self.driver.compile()
         return self.driver.c_entryp
-
-    def compile_c(self, **kwds):
-        self.update_options(kwds)
-        self.ensure_backend('c')
-        self.driver.compile()
-        return self.driver.c_entryp
-
-    def compile_cli(self, **kwds):
-        self.update_options(kwds)
-        self.ensure_backend('cli')
-        self.driver.compile()
-        return self.driver.c_entryp
-
-    def source_cli(self, **kwds):
-        self.update_options(kwds)
-        self.ensure_backend('cli')
-        self.driver.source()
-
-    def compile_jvm(self, **kwds):
-        self.update_options(kwds)
-        self.ensure_backend('jvm')
-        self.driver.compile()
-        return self.driver.c_entryp
-
-    def source_jvm(self, **kwds):
-        self.update_options(kwds)
-        self.ensure_backend('jvm')
-        self.driver.source()
diff --git a/rpython/translator/test/test_interactive.py 
b/rpython/translator/test/test_interactive.py
--- a/rpython/translator/test/test_interactive.py
+++ b/rpython/translator/test/test_interactive.py
@@ -48,7 +48,7 @@
     assert 'source' in t.driver.done
 
     t = Translation(f, [int, int])
-    t.source_c()
+    t.source()
     assert 'source' in t.driver.done
 
 def test_disable_logic():
@@ -59,7 +59,7 @@
 
     t = Translation(f, [int, int])
     t.disable(['backendopt'])
-    t.source_c()
+    t.source()
 
     assert 'backendopt' not in t.driver.done
 
@@ -70,7 +70,7 @@
         return x+y
 
     t = Translation(f, [int, int])
-    t.source(backend='c')
+    t.source()
     t.compile()
 
     dll = ctypes.CDLL(str(t.driver.c_entryp))
@@ -83,32 +83,12 @@
         return x+y
 
     t = Translation(f, [int, int])
-    t.rtype(type_system='lltype')
-
-    assert 'rtype' in t.driver.done    
-
-    t = Translation(f, [int, int])
-    t.rtype(type_system='ootype')
-    assert 'rtype' in t.driver.done        
+    t.rtype()
 
     t = Translation(f, [int, int], type_system='ootype')
     t.rtype()
-    assert 'rtype' in t.driver.done    
-
-    t = Translation(f, [int, int])
-    t.rtype(backend='cli')
     assert 'rtype' in t.driver.done
 
-
     t = Translation(f, [int, int], backend='cli', type_system='ootype')
     t.rtype()
-    assert 'rtype' in t.driver.done        
-
-    t = Translation(f, [int, int], type_system='lltype')
-    t.annotate()
-    py.test.raises(Exception, "t.rtype(backend='cli')")
-
-    t = Translation(f, [int, int], backend='cli')
-    t.annotate()
-    py.test.raises(Exception, "t.rtype(type_system='lltype')")
-
+    assert 'rtype' in t.driver.done
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to