Try to treat pointers a bit more consistently.
authorJosé Fonseca <jfonseca@vmware.com>
Mon, 15 Nov 2010 22:10:53 +0000 (22:10 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Mon, 15 Nov 2010 22:10:53 +0000 (22:10 +0000)
base.py
log.cpp
log.hpp

diff --git a/base.py b/base.py
index f3beda5..e672a3c 100644 (file)
--- a/base.py
+++ b/base.py
@@ -135,12 +135,12 @@ class Pointer(Type):
 
     def dump(self, instance):
         print '    if(%s) {' % instance
-        print '        Log::BeginReference("%s", %s);' % (self.type, instance)
+        print '        Log::BeginPointer("%s", (const void *)%s);' % (self.type, instance)
         try:
             self.type.dump("*" + instance)
         except NotImplementedError:
             pass
-        print '        Log::EndReference();'
+        print '        Log::EndPointer();'
         print '    }'
         print '    else'
         print '        Log::LiteralNull();'
@@ -440,8 +440,8 @@ class Interface(Type):
                 result = 'result = '
             print '    Log::BeginCall("%s");' % (self.name + '::' + method.name)
             print '    Log::BeginArg("%s *", "this");' % self.name
-            print '    Log::BeginReference("%s", m_pInstance);' % self.name
-            print '    Log::EndReference();'
+            print '    Log::BeginPointer("%s", (const void *)m_pInstance);' % self.name
+            print '    Log::EndPointer();'
             print '    Log::EndArg();'
             for type, name in method.args:
                 if not type.isoutput():
@@ -514,12 +514,12 @@ String = _String()
 class _Opaque(Type):
 
     def __init__(self):
-        Type.__init__(self, "void *")
+        Type.__init__(self, "void")
 
     def dump(self, instance):
-        print '    Log::LiteralOpaque((const void *)%s);' % instance
+        print '    Log::LiteralOpaque();'
 
-Opaque = _Opaque()
+Opaque = Pointer(_Opaque())
 
 
 Bool = Literal("bool", "Bool")
diff --git a/log.cpp b/log.cpp
index 2dc3775..4f937be 100644 (file)
--- a/log.cpp
+++ b/log.cpp
@@ -362,14 +362,14 @@ void EndBitmask(void)
     EndTag("bitmask");
 }
 
-void BeginReference(const char *type, const void *addr)
+void BeginPointer(const char *type, const void *addr)
 {
     char saddr[256];
     snprintf(saddr, sizeof(saddr), "%p", addr);
     BeginTag("ref", "type", type, "addr", saddr);
 }
 
-void EndReference(void)
+void EndPointer(void)
 {
     EndTag("ref");
 }
@@ -431,21 +431,14 @@ void LiteralNamedConstant(const char *str)
     EndTag("const");
 }
 
-void LiteralOpaque(const void *addr)
+void LiteralNull(void)
 {
-    char saddr[256];
-    if (!addr) {
-        LiteralNull();
-        return;
-    }
-    snprintf(saddr, sizeof(saddr), "%p", addr);
-    BeginTag("opaque", "addr", saddr);
-    EndTag("opaque");
+    Tag("null");
 }
 
-void LiteralNull(void)
+void LiteralOpaque(void)
 {
-    Tag("null");
+    Tag("opaque");
 }
 
 } /* namespace Log */
diff --git a/log.hpp b/log.hpp
index 4dc5337..d7fb3f5 100644 (file)
--- a/log.hpp
+++ b/log.hpp
@@ -56,8 +56,8 @@ namespace Log {
     void BeginBitmask(const char *type);
     void EndBitmask(void);
 
-    void BeginReference(const char *type, const void *addr);
-    void EndReference(void);
+    void BeginPointer(const char *type, const void *addr);
+    void EndPointer(void);
 
     void LiteralBool(bool value);
     void LiteralSInt(signed long long value);
@@ -66,8 +66,8 @@ namespace Log {
     void LiteralString(const char *str);
     void LiteralWString(const wchar_t *str);
     void LiteralNamedConstant(const char *str);
-    void LiteralOpaque(const void *addr);
     void LiteralNull(void);
+    void LiteralOpaque(void);
 }
 
 #endif /* _LOG_HPP_ */