diff options
author | Steve Reinhardt <stever@gmail.com> | 2007-08-03 03:51:30 -0400 |
---|---|---|
committer | Steve Reinhardt <stever@gmail.com> | 2007-08-03 03:51:30 -0400 |
commit | 3afc6259757e8ec688701bf3e3d7fcdad28d5b6c (patch) | |
tree | 35c0e1ebb596dfe94934fc0f5f064eb523b3013b /src/python/generate.py | |
parent | 62aa1d7f559622dcb04b1b2fe1e2ecec375883a3 (diff) | |
parent | 121a894ce0d551e860392f9aa6bd381329a25b96 (diff) | |
download | gem5-3afc6259757e8ec688701bf3e3d7fcdad28d5b6c.tar.xz |
merge from head
--HG--
extra : convert_revision : 21f7afe2719c00744c0981212c1ee6e442238e01
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: |