diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-08-02 23:30:25 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-08-02 23:30:25 -0700 |
commit | 121a894ce0d551e860392f9aa6bd381329a25b96 (patch) | |
tree | 3e8b7ded2869c14eb45403a15100d45d247f401b /src/python/generate.py | |
parent | f4b89cd897e15b34f1565f55d7c6ce0c056f361a (diff) | |
parent | 0536d0cde931e89d33b10228950d455dd54d8a5f (diff) | |
download | gem5-121a894ce0d551e860392f9aa6bd381329a25b96.tar.xz |
Merge with head.
--HG--
extra : convert_revision : c8b066289916b3fb24bcae1e9c76e27ad4cf61b1
Diffstat (limited to 'src/python/generate.py')
-rw-r--r-- | src/python/generate.py | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/python/generate.py b/src/python/generate.py index 6a09b8106..99d0fb68c 100644 --- a/src/python/generate.py +++ b/src/python/generate.py @@ -274,17 +274,29 @@ class Generate(object): print >>out for obj in ordered_objs: - code = 'class %s ' % obj.cxx_class - if str(obj) != 'SimObject': - code += ': public %s ' % obj.__bases__[0] - code += '{};' + if obj.swig_objdecls: + for decl in obj.swig_objdecls: + print >>out, decl + continue + + code = '' + base = obj.get_base() + + code += '// stop swig from creating/wrapping default ctor/dtor\n' + code += '%%nodefault %s;\n' % obj.cxx_class + code += 'class %s ' % obj.cxx_class + if base: + code += ': public %s' % base + code += ' {};\n' klass = obj.cxx_class; if hasattr(obj, 'cxx_namespace'): - code = 'namespace %s { %s }' % (obj.cxx_namespace, code) + new_code = 'namespace %s {\n' % obj.cxx_namespace + new_code += code + new_code += '}\n' + code = new_code klass = '%s::%s' % (obj.cxx_namespace, klass) - print >>out, '%%ignore %s;' % klass print >>out, code for obj in ordered_objs: |