diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-06-25 22:59:01 +0000 |
---|---|---|
committer | <> | 2013-09-27 11:49:28 +0000 |
commit | 8c4528713d907ee2cfd3bfcbbad272c749867f84 (patch) | |
tree | c09e2ce80f47b90c85cc720f5139089ad9c8cfff /libs/python/pyste/src/Pyste/VarExporter.py | |
download | boost-tarball-baserock/morph.tar.gz |
Imported from /home/lorry/working-area/delta_boost-tarball/boost_1_54_0.tar.bz2.boost_1_54_0baserock/morph
Diffstat (limited to 'libs/python/pyste/src/Pyste/VarExporter.py')
-rw-r--r-- | libs/python/pyste/src/Pyste/VarExporter.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/libs/python/pyste/src/Pyste/VarExporter.py b/libs/python/pyste/src/Pyste/VarExporter.py new file mode 100644 index 000000000..d3571e751 --- /dev/null +++ b/libs/python/pyste/src/Pyste/VarExporter.py @@ -0,0 +1,40 @@ +# Copyright Bruno da Silva de Oliveira 2003. Use, modification and +# distribution is subject to the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +from Exporter import Exporter +from settings import * +import utils + +#============================================================================== +# VarExporter +#============================================================================== +class VarExporter(Exporter): + '''Exports a global variable. + ''' + + def __init__(self, info): + Exporter.__init__(self, info) + + + def Export(self, codeunit, exported_names): + if self.info.exclude: return + decl = self.GetDeclaration(self.info.name) + if not decl.type.const: + msg = '---> Warning: The global variable "%s" is non-const:\n' \ + ' changes in Python will not reflect in C++.' + print msg % self.info.name + print + rename = self.info.rename or self.info.name + code = self.INDENT + namespaces.python + code += 'scope().attr("%s") = %s;\n' % (rename, self.info.name) + codeunit.Write('module', code) + + + def Order(self): + return 0, self.info.name + + + def Name(self): + return self.info.name |