Logging for data formatters.
llvm-svn: 153878
diff --git a/lldb/examples/summaries/cocoa/CFBag.py b/lldb/examples/summaries/cocoa/CFBag.py
index 9347486..0f8ad20 100644
--- a/lldb/examples/summaries/cocoa/CFBag.py
+++ b/lldb/examples/summaries/cocoa/CFBag.py
@@ -10,6 +10,7 @@
import ctypes
import objc_runtime
import metrics
+import Logger
statistics = metrics.Metrics()
statistics.add_metric('invalid_isa')
@@ -25,6 +26,7 @@
pass
def __init__(self, valobj, params):
+ logger = Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.NSUInteger):
@@ -35,18 +37,21 @@
self.update();
def update(self):
+ logger = Logger.Logger()
self.adjust_for_architecture();
# 12 bytes on i386
# 20 bytes on x64
# most probably 2 pointers and 4 bytes of data
def offset(self):
+ logger = Logger.Logger()
if self.sys_params.is_64_bit:
return 20
else:
return 12
def length(self):
+ logger = Logger.Logger()
size = self.valobj.CreateChildAtOffset("count",
self.offset(),
self.sys_params.types_cache.NSUInteger)
@@ -58,14 +63,17 @@
pass
def __init__(self, valobj, params):
+ logger = Logger.Logger()
self.valobj = valobj;
self.sys_params = params
self.update();
def update(self):
+ logger = Logger.Logger()
self.adjust_for_architecture();
def length(self):
+ logger = Logger.Logger()
stream = lldb.SBStream()
self.valobj.GetExpressionPath(stream)
num_children_vo = self.valobj.CreateValueFromExpression("count","(int)CFBagGetCount(" + stream.GetData() + " )")
@@ -75,6 +83,7 @@
def GetSummary_Impl(valobj):
+ logger = Logger.Logger()
global statistics
class_data,wrapper = objc_runtime.Utilities.prepare_class_detection(valobj,statistics)
if wrapper:
@@ -82,6 +91,9 @@
name_string = class_data.class_name()
actual_name = name_string
+
+ logger >> "name string got was " + str(name_string) + " but actual name is " + str(actual_name)
+
if class_data.is_cftype():
# CFBag does not expose an actual NSWrapper type, so we have to check that this is
# an NSCFType and then check we are a pointer-to __CFBag
@@ -100,6 +112,7 @@
return wrapper;
def CFBag_SummaryProvider (valobj,dict):
+ logger = Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
@@ -108,6 +121,7 @@
summary = provider.length();
except:
summary = None
+ logger >> "summary got from provider: " + str(summary)
# for some reason, one needs to clear some bits for the count
# to be correct when using CF(Mutable)BagRef on x64
# the bit mask was derived through experimentation