changeset 11a1079070b6 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=11a1079070b6
description:
        swig: Add in a %rename to allow the same name to appear in multiple 
namespaces.

diffstat:

1 file changed, 3 insertions(+), 3 deletions(-)
src/SConscript |    6 +++---

diffs (25 lines):

diff -r e93e5b190bcc -r 11a1079070b6 src/SConscript
--- a/src/SConscript    Fri Oct 10 12:17:53 2008 -0700
+++ b/src/SConscript    Fri Oct 10 21:45:34 2008 -0700
@@ -532,11 +532,18 @@
             continue
 
         class_path = obj.cxx_class.split('::')
-        class_path.reverse()
-        classname = class_path[0]
-        namespaces = class_path[1:]
+        classname = class_path[-1]
+        namespaces = class_path[:-1]
+        namespaces.reverse()
 
         code = ''
+
+        if namespaces:
+            code += '// avoid name conflicts\n'
+            sep_string = '_COLONS_'
+            flat_name = sep_string.join(class_path)
+            code += '%%rename(%s) %s;\n' % (flat_name, classname)
+
         code += '// stop swig from creating/wrapping default ctor/dtor\n'
         code += '%%nodefault %s;\n' % classname
         code += 'class %s ' % classname
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to