From cb4c649ac0e5ce7c1fc340965e81a211415af121 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 12 Aug 2013 19:34:48 +0200 Subject: [PATCH] Debugger: Improve caching of unnamed structures Task-number: QTCREATORBUG-9947 Cherry-picked from 16c4c2ae649221c1a18dd38bfd6cda0585356319 Change-Id: I901bb87ecafc4c1260003de51678ab66122aaffa Reviewed-by: Mitch Curtis Reviewed-by: Kai Koehne Reviewed-by: David Schulz Reviewed-by: hjk --- share/qtcreator/dumper/gbridge.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/share/qtcreator/dumper/gbridge.py b/share/qtcreator/dumper/gbridge.py index 3995453ec9c..6fa74ee54bf 100644 --- a/share/qtcreator/dumper/gbridge.py +++ b/share/qtcreator/dumper/gbridge.py @@ -624,6 +624,18 @@ def expensiveDowncast(value): typeCache = {} +typesToReport = {} +typesReported = {} + +def addToCache(type): + global typesReported + global typesToReport + typename = str(type) + if typename in typesReported: + return + typesReported[typename] = True + typesToReport[typename] = type + def lookupType(typestring): global typeCache global typesToReport @@ -1260,8 +1272,6 @@ registerCommand("bbedit", bbedit) # ####################################################################### -typesToReport = {} - def bb(args): global typesToReport output = Dumper(args).output @@ -1853,7 +1863,7 @@ class Dumper: type = value.type.unqualified() typeName = str(type) tryDynamic &= self.useDynamicType - lookupType(typeName) # Fill type cache + addToCache(type) # Fill type cache if tryDynamic: self.putAddress(value.address)