From 7ba0a4de9c05a2a5fce5d4a4cb745f28c9d4c401 Mon Sep 17 00:00:00 2001
From: hjk <qthjk@ovi.com>
Date: Tue, 17 Jul 2012 17:15:24 +0200
Subject: [PATCH] debugger: add dumper for Core::Id

Change-Id: Ibcc5b0e80acf037ed87b79ae4f52a1b0677388eb
Reviewed-by: hjk <qthjk@ovi.com>
---
 share/qtcreator/dumper/qttypes.py | 12 ++++++++++++
 src/plugins/coreplugin/id.cpp     |  6 ++++++
 2 files changed, 18 insertions(+)

diff --git a/share/qtcreator/dumper/qttypes.py b/share/qtcreator/dumper/qttypes.py
index 96191ed9b7f..c19f52321c6 100644
--- a/share/qtcreator/dumper/qttypes.py
+++ b/share/qtcreator/dumper/qttypes.py
@@ -2420,6 +2420,18 @@ def qdump__QScriptValue(d, value):
 #
 #######################################################################
 
+def qdump__Core__Id(d, value):
+    try:
+        name = parseAndEvaluate("Core::nameForId(%d)" % value["m_id"])
+        d.putValue(encodeCharArray(name), Hex2EncodedLatin1)
+        d.putNumChild(1)
+        if d.isExpanded():
+            with Children(d):
+                d.putFields(value)
+    except:
+        d.putValue(value["m_id"])
+        d.putNumChild(0)
+
 def qdump__Debugger__Internal__GdbMi(d, value):
     d.putByteArrayValue(value["m_data"])
     d.putPlainChildren(value)
diff --git a/src/plugins/coreplugin/id.cpp b/src/plugins/coreplugin/id.cpp
index 9bafc544cfc..abd46e5d1de 100644
--- a/src/plugins/coreplugin/id.cpp
+++ b/src/plugins/coreplugin/id.cpp
@@ -134,4 +134,10 @@ QString Id::toString() const
     return QString::fromUtf8(stringFromId[m_id]);
 }
 
+// For debugging purposes
+CORE_EXPORT const char *nameForId(int id)
+{
+    return (stringFromId.constData() + id)->constData();
+}
+
 } // namespace Core
-- 
GitLab