Author: Manuel Jacob
Branch: refactor-translator
Changeset: r61792:c250ab7f7cea
Date: 2013-02-25 22:15 +0100
http://bitbucket.org/pypy/pypy/changeset/c250ab7f7cea/

Log:    Inline TranslationDriver.from_targetspec().

diff --git a/rpython/translator/driver.py b/rpython/translator/driver.py
--- a/rpython/translator/driver.py
+++ b/rpython/translator/driver.py
@@ -88,7 +88,7 @@
             from rpython.translator.tool.staticsizereport import 
dump_static_data_info
             targetdir = cbuilder.targetdir
             fname = dump_static_data_info(self.driver.log, database, targetdir)
-            dstname = self.compute_exe_name() + '.staticdata.info'
+            dstname = self.driver.compute_exe_name() + '.staticdata.info'
             shutil.copy(str(fname), str(dstname))
             self.driver.log.info('Static data info written to %s' % dstname)
 
@@ -100,7 +100,7 @@
         cbuilder = self.cbuilder
         kwds = {}
         if self.driver.standalone and self.driver.exe_name is not None:
-            kwds['exe_name'] = self.compute_exe_name().basename
+            kwds['exe_name'] = self.driver.compute_exe_name().basename
         cbuilder.compile(**kwds)
 
         if self.driver.standalone:
@@ -114,7 +114,7 @@
         """
         if self.driver.exe_name is not None:
             exename = self.driver.c_entryp
-            newexename = self.compute_exe_name()
+            newexename = self.driver.compute_exe_name()
             if sys.platform == 'win32':
                 newexename = newexename.new(ext='exe')
             shutil.copy(str(exename), str(newexename))
@@ -130,12 +130,6 @@
         self.driver.log.info('usession directory: %s' % (udir,))
         self.driver.log.info("created: %s" % (self.driver.c_entryp,))
 
-    def compute_exe_name(self):
-        newexename = self.exe_name % self.get_info()
-        if '/' not in newexename and '\\' not in newexename:
-            newexename = './' + newexename
-        return py.path.local(newexename)
-
     def get_tasks(self):
         yield self.task_database
         yield self.task_source
@@ -445,6 +439,12 @@
 
         log.llinterpret.event("result -> %s" % v)
 
+    def compute_exe_name(self):
+        newexename = self.exe_name % self.get_info()
+        if '/' not in newexename and '\\' not in newexename:
+            newexename = './' + newexename
+        return py.path.local(newexename)
+
     @taskdef('Generating CLI source')
     def task_source_cli(self):
         from rpython.translator.cli.gencli import GenCli
@@ -631,36 +631,6 @@
             res = self._do(task.task_name, task)
         return res
 
-    def from_targetspec(targetspec_dic, config=None, args=None,
-                        empty_translator=None):
-        if args is None:
-            args = []
-
-        driver = TranslationDriver(config=config)
-        # patch some attributes of the os module to make sure they
-        # have the same value on every platform.
-        if backend in ('cli', 'jvm'):
-            from rpython.translator.oosupport.support import patch_os
-            driver.old_cli_defs = patch_os()
-
-        target = targetspec_dic['target']
-        spec = target(driver, args)
-
-        try:
-            entry_point, inputtypes, policy = spec
-        except ValueError:
-            entry_point, inputtypes = spec
-            policy = None
-
-        driver.setup(entry_point, inputtypes,
-                     policy=policy,
-                     extra=targetspec_dic,
-                     empty_translator=empty_translator)
-
-        return driver
-
-    from_targetspec = staticmethod(from_targetspec)
-
     def prereq_checkpt_rtype(self):
         assert 'rpython.rtyper.rmodel' not in sys.modules, (
             "cannot fork because the rtyper has already been imported")
diff --git a/rpython/translator/goal/translate.py 
b/rpython/translator/goal/translate.py
--- a/rpython/translator/goal/translate.py
+++ b/rpython/translator/goal/translate.py
@@ -277,10 +277,29 @@
         pdb_plus_show.start(tb)
 
     try:
-        drv = driver.TranslationDriver.from_targetspec(targetspec_dic, config, 
args,
-                                                       empty_translator=t,
-                                                       
disable=translateconfig.skipped_goals,
-                                                       default_goal='compile')
+        if args is None:
+            args = []
+        drv = driver.TranslationDriver(config=config)
+        # patch some attributes of the os module to make sure they
+        # have the same value on every platform.
+        if config.translation.backend in ('cli', 'jvm'):
+            from rpython.translator.oosupport.support import patch_os
+            drv.old_cli_defs = patch_os()
+
+        target = targetspec_dic['target']
+        spec = target(drv, args)
+
+        try:
+            entry_point, inputtypes, policy = spec
+        except ValueError:
+            entry_point, inputtypes = spec
+            policy = None
+
+        drv.setup(entry_point, inputtypes,
+                     policy=policy,
+                     extra=targetspec_dic,
+                     empty_translator=t)
+
         log_config(translateconfig, "translate.py configuration")
         if config.translation.jit:
             if 'jitpolicy' not in targetspec_dic:
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to