From c733745dd75026c210abf94fd2b80769ee37efd5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Mon, 15 Nov 2010 22:10:53 +0000 Subject: [PATCH] Try to treat pointers a bit more consistently. --- base.py | 14 +++++++------- log.cpp | 19 ++++++------------- log.hpp | 6 +++--- 3 files changed, 16 insertions(+), 23 deletions(-) diff --git a/base.py b/base.py index f3beda5..e672a3c 100644 --- 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 --- 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 --- 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_ */ -- 2.45.2