summaryrefslogtreecommitdiffstats
path: root/lldb
diff options
context:
space:
mode:
Diffstat (limited to 'lldb')
-rw-r--r--lldb/examples/summaries/cocoa/CFArray.py42
-rw-r--r--lldb/examples/summaries/cocoa/CFBag.py26
-rw-r--r--lldb/examples/summaries/cocoa/CFBinaryHeap.py26
-rw-r--r--lldb/examples/summaries/cocoa/CFBitVector.py34
-rw-r--r--lldb/examples/summaries/cocoa/CFDictionary.py42
-rw-r--r--lldb/examples/summaries/cocoa/CFString.py52
-rw-r--r--lldb/examples/summaries/cocoa/Class.py6
-rw-r--r--lldb/examples/summaries/cocoa/NSBundle.py26
-rw-r--r--lldb/examples/summaries/cocoa/NSData.py22
-rw-r--r--lldb/examples/summaries/cocoa/NSDate.py60
-rw-r--r--lldb/examples/summaries/cocoa/NSException.py28
-rw-r--r--lldb/examples/summaries/cocoa/NSIndexSet.py24
-rw-r--r--lldb/examples/summaries/cocoa/NSMachPort.py26
-rw-r--r--lldb/examples/summaries/cocoa/NSNotification.py26
-rw-r--r--lldb/examples/summaries/cocoa/NSNumber.py30
-rw-r--r--lldb/examples/summaries/cocoa/NSSet.py52
-rw-r--r--lldb/examples/summaries/cocoa/NSURL.py28
-rw-r--r--lldb/examples/summaries/cocoa/cache.py4
-rw-r--r--lldb/examples/summaries/cocoa/objc_runtime.py102
-rw-r--r--lldb/source/Interpreter/ScriptInterpreterPython.cpp2
20 files changed, 329 insertions, 329 deletions
diff --git a/lldb/examples/summaries/cocoa/CFArray.py b/lldb/examples/summaries/cocoa/CFArray.py
index fd96fe51fed..45d18b50126 100644
--- a/lldb/examples/summaries/cocoa/CFArray.py
+++ b/lldb/examples/summaries/cocoa/CFArray.py
@@ -8,11 +8,11 @@ License. See LICENSE.TXT for details.
# synthetic children provider for NSArray
import lldb
import ctypes
-import objc_runtime
-import metrics
-import Logger
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.metrics
+import lldb.formatters.Logger
-statistics = metrics.Metrics()
+statistics = lldb.formatters.metrics.Metrics()
statistics.add_metric('invalid_isa')
statistics.add_metric('invalid_pointer')
statistics.add_metric('unknown_class')
@@ -27,16 +27,16 @@ class NSArrayKVC_SynthProvider:
pass
def __init__(self, valobj, dict, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.update()
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def num_children(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
stream = lldb.SBStream()
self.valobj.GetExpressionPath(stream)
num_children_vo = self.valobj.CreateValueFromExpression("count","(int)[" + stream.GetData() + " count]");
@@ -53,7 +53,7 @@ class NSArrayCF_SynthProvider:
pass
def __init__(self, valobj, dict, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not (self.sys_params.types_cache.ulong):
@@ -61,11 +61,11 @@ class NSArrayCF_SynthProvider:
self.update()
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def num_children(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
num_children_vo = self.valobj.CreateChildAtOffset("count",
self.sys_params.cfruntime_size,
self.sys_params.types_cache.ulong)
@@ -76,7 +76,7 @@ class NSArrayI_SynthProvider:
pass
def __init__(self, valobj, dict, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.long):
@@ -84,12 +84,12 @@ class NSArrayI_SynthProvider:
self.update()
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# skip the isa pointer and get at the size
def num_children(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
count = self.valobj.CreateChildAtOffset("count",
self.sys_params.pointer_size,
self.sys_params.types_cache.long);
@@ -100,7 +100,7 @@ class NSArrayM_SynthProvider:
pass
def __init__(self, valobj, dict, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.long):
@@ -108,12 +108,12 @@ class NSArrayM_SynthProvider:
self.update()
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# skip the isa pointer and get at the size
def num_children(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
count = self.valobj.CreateChildAtOffset("count",
self.sys_params.pointer_size,
self.sys_params.types_cache.long);
@@ -127,7 +127,7 @@ class NSArray_SynthProvider:
pass
def __init__(self, valobj, dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.adjust_for_architecture()
self.error = False
@@ -135,13 +135,13 @@ class NSArray_SynthProvider:
self.invalid = (self.wrapper == None)
def num_children(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.wrapper == None:
return 0;
return self.wrapper.num_children()
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.wrapper == None:
return
self.wrapper.update()
@@ -149,7 +149,7 @@ class NSArray_SynthProvider:
# this code acts as our defense against NULL and unitialized
# NSArray pointers, which makes it much longer than it would be otherwise
def make_wrapper(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.valobj.GetValueAsUnsigned() == 0:
self.error = True
return objc_runtime.InvalidPointer_Description(True)
@@ -179,7 +179,7 @@ class NSArray_SynthProvider:
return wrapper;
def CFArray_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = NSArray_SynthProvider(valobj,dict);
if provider.invalid == False:
if provider.error == True:
diff --git a/lldb/examples/summaries/cocoa/CFBag.py b/lldb/examples/summaries/cocoa/CFBag.py
index 0f8ad20986a..c3d5460515e 100644
--- a/lldb/examples/summaries/cocoa/CFBag.py
+++ b/lldb/examples/summaries/cocoa/CFBag.py
@@ -8,11 +8,11 @@ License. See LICENSE.TXT for details.
# summary provider for CFBag
import lldb
import ctypes
-import objc_runtime
-import metrics
-import Logger
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.metrics
+import lldb.formatters.Logger
-statistics = metrics.Metrics()
+statistics = lldb.formatters.metrics.Metrics()
statistics.add_metric('invalid_isa')
statistics.add_metric('invalid_pointer')
statistics.add_metric('unknown_class')
@@ -26,7 +26,7 @@ class CFBagRef_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.NSUInteger):
@@ -37,21 +37,21 @@ class CFBagRef_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.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()
+ logger = lldb.formatters.Logger.Logger()
if self.sys_params.is_64_bit:
return 20
else:
return 12
def length(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
size = self.valobj.CreateChildAtOffset("count",
self.offset(),
self.sys_params.types_cache.NSUInteger)
@@ -63,17 +63,17 @@ class CFBagUnknown_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def length(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
stream = lldb.SBStream()
self.valobj.GetExpressionPath(stream)
num_children_vo = self.valobj.CreateValueFromExpression("count","(int)CFBagGetCount(" + stream.GetData() + " )")
@@ -83,7 +83,7 @@ class CFBagUnknown_SummaryProvider:
def GetSummary_Impl(valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global statistics
class_data,wrapper = objc_runtime.Utilities.prepare_class_detection(valobj,statistics)
if wrapper:
@@ -112,7 +112,7 @@ def GetSummary_Impl(valobj):
return wrapper;
def CFBag_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
diff --git a/lldb/examples/summaries/cocoa/CFBinaryHeap.py b/lldb/examples/summaries/cocoa/CFBinaryHeap.py
index 0f925006dea..91aff78602e 100644
--- a/lldb/examples/summaries/cocoa/CFBinaryHeap.py
+++ b/lldb/examples/summaries/cocoa/CFBinaryHeap.py
@@ -8,11 +8,11 @@ License. See LICENSE.TXT for details.
# summary provider for CFBinaryHeap
import lldb
import ctypes
-import objc_runtime
-import metrics
-import Logger
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.metrics
+import lldb.formatters.Logger
-statistics = metrics.Metrics()
+statistics = lldb.formatters.metrics.Metrics()
statistics.add_metric('invalid_isa')
statistics.add_metric('invalid_pointer')
statistics.add_metric('unknown_class')
@@ -26,7 +26,7 @@ class CFBinaryHeapRef_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.NSUInteger):
@@ -37,18 +37,18 @@ class CFBinaryHeapRef_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# 8 bytes on i386
# 16 bytes on x64
# most probably 2 pointers
def offset(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return 2 * self.sys_params.pointer_size
def length(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
size = self.valobj.CreateChildAtOffset("count",
self.offset(),
self.sys_params.types_cache.NSUInteger)
@@ -60,17 +60,17 @@ class CFBinaryHeapUnknown_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def length(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
stream = lldb.SBStream()
self.valobj.GetExpressionPath(stream)
num_children_vo = self.valobj.CreateValueFromExpression("count","(int)CFBinaryHeapGetCount(" + stream.GetData() + " )");
@@ -80,7 +80,7 @@ class CFBinaryHeapUnknown_SummaryProvider:
def GetSummary_Impl(valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global statistics
class_data,wrapper = objc_runtime.Utilities.prepare_class_detection(valobj,statistics)
if wrapper:
@@ -108,7 +108,7 @@ def GetSummary_Impl(valobj):
return wrapper;
def CFBinaryHeap_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
diff --git a/lldb/examples/summaries/cocoa/CFBitVector.py b/lldb/examples/summaries/cocoa/CFBitVector.py
index c595656bb7d..3a6a07e369d 100644
--- a/lldb/examples/summaries/cocoa/CFBitVector.py
+++ b/lldb/examples/summaries/cocoa/CFBitVector.py
@@ -8,30 +8,30 @@ License. See LICENSE.TXT for details.
# summary provider for CF(Mutable)BitVector
import lldb
import ctypes
-import objc_runtime
-import metrics
-import Logger
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.metrics
+import lldb.formatters.Logger
# first define some utility functions
def byte_index(abs_pos):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return abs_pos/8
def bit_index(abs_pos):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return abs_pos & 7
def get_bit(byte,index):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if index < 0 or index > 7:
return None
return (byte >> (7-index)) & 1
def grab_array_item_data(pointer,index):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return pointer.GetPointeeData(index,1)
-statistics = metrics.Metrics()
+statistics = lldb.formatters.metrics.Metrics()
statistics.add_metric('invalid_isa')
statistics.add_metric('invalid_pointer')
statistics.add_metric('unknown_class')
@@ -42,12 +42,12 @@ statistics.add_metric('code_notrun')
# obey the interface specification for synthetic children providers
class CFBitVectorKnown_SummaryProvider:
def adjust_for_architecture(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.uiint_size = self.sys_params.types_cache.NSUInteger.GetByteSize()
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.NSUInteger):
@@ -60,7 +60,7 @@ class CFBitVectorKnown_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# we skip the CFRuntimeBase
@@ -69,7 +69,7 @@ class CFBitVectorKnown_SummaryProvider:
# that wraps the individual bits
def contents(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
count_vo = self.valobj.CreateChildAtOffset("count",self.sys_params.cfruntime_size,
self.sys_params.types_cache.NSUInteger)
count = count_vo.GetValueAsUnsigned(0)
@@ -109,22 +109,22 @@ class CFBitVectorUnknown_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def contents(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return '<unable to summarize this CFBitVector>'
def GetSummary_Impl(valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global statistics
class_data,wrapper = objc_runtime.Utilities.prepare_class_detection(valobj,statistics)
if wrapper:
@@ -156,7 +156,7 @@ def GetSummary_Impl(valobj):
return wrapper;
def CFBitVector_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
diff --git a/lldb/examples/summaries/cocoa/CFDictionary.py b/lldb/examples/summaries/cocoa/CFDictionary.py
index 2ad058b7d40..0fcda17f0da 100644
--- a/lldb/examples/summaries/cocoa/CFDictionary.py
+++ b/lldb/examples/summaries/cocoa/CFDictionary.py
@@ -8,11 +8,11 @@ License. See LICENSE.TXT for details.
# summary provider for NSDictionary
import lldb
import ctypes
-import objc_runtime
-import metrics
-import Logger
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.metrics
+import lldb.formatters.Logger
-statistics = metrics.Metrics()
+statistics = lldb.formatters.metrics.Metrics()
statistics.add_metric('invalid_isa')
statistics.add_metric('invalid_pointer')
statistics.add_metric('unknown_class')
@@ -26,7 +26,7 @@ class NSCFDictionary_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.NSUInteger):
@@ -37,7 +37,7 @@ class NSCFDictionary_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# empirically determined on both 32 and 64bit desktop Mac OS X
@@ -45,14 +45,14 @@ class NSCFDictionary_SummaryProvider:
# the description of __CFDictionary is not readily available so most
# of this is guesswork, plain and simple
def offset(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.sys_params.is_64_bit:
return 20
else:
return 12
def num_children(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
num_children_vo = self.valobj.CreateChildAtOffset("count",
self.offset(),
self.sys_params.types_cache.NSUInteger)
@@ -64,7 +64,7 @@ class NSDictionaryI_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.NSUInteger):
@@ -75,16 +75,16 @@ class NSDictionaryI_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# we just need to skip the ISA and the count immediately follows
def offset(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return self.sys_params.pointer_size
def num_children(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
num_children_vo = self.valobj.CreateChildAtOffset("count",
self.offset(),
self.sys_params.types_cache.NSUInteger)
@@ -104,7 +104,7 @@ class NSDictionaryM_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.NSUInteger):
@@ -115,7 +115,7 @@ class NSDictionaryM_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# we just need to skip the ISA and the count immediately follows
@@ -123,7 +123,7 @@ class NSDictionaryM_SummaryProvider:
return self.sys_params.pointer_size
def num_children(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
num_children_vo = self.valobj.CreateChildAtOffset("count",
self.offset(),
self.sys_params.types_cache.NSUInteger)
@@ -143,17 +143,17 @@ class NSDictionaryUnknown_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def num_children(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
stream = lldb.SBStream()
self.valobj.GetExpressionPath(stream)
num_children_vo = self.valobj.CreateValueFromExpression("count","(int)[" + stream.GetData() + " count]");
@@ -163,7 +163,7 @@ class NSDictionaryUnknown_SummaryProvider:
def GetSummary_Impl(valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global statistics
class_data,wrapper = objc_runtime.Utilities.prepare_class_detection(valobj,statistics)
if wrapper:
@@ -188,7 +188,7 @@ def GetSummary_Impl(valobj):
return wrapper;
def CFDictionary_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
@@ -206,7 +206,7 @@ def CFDictionary_SummaryProvider (valobj,dict):
return 'Summary Unavailable'
def CFDictionary_SummaryProvider2 (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
diff --git a/lldb/examples/summaries/cocoa/CFString.py b/lldb/examples/summaries/cocoa/CFString.py
index a3a07a0e83a..2ad4c6731ce 100644
--- a/lldb/examples/summaries/cocoa/CFString.py
+++ b/lldb/examples/summaries/cocoa/CFString.py
@@ -8,11 +8,11 @@ License. See LICENSE.TXT for details.
# synthetic children and summary provider for CFString
# (and related NSString class)
import lldb
-import objc_runtime
-import Logger
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.Logger
def CFString_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = CFStringSynthProvider(valobj,dict);
if provider.invalid == False:
try:
@@ -29,7 +29,7 @@ def CFString_SummaryProvider (valobj,dict):
return ''
def CFAttributedString_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
offset = valobj.GetTarget().GetProcess().GetAddressByteSize()
pointee = valobj.GetValueAsUnsigned(0)
summary = '<variable is not NSAttributedString>'
@@ -54,19 +54,19 @@ def __lldb_init_module(debugger,dict):
class CFStringSynthProvider:
def __init__(self,valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.update()
# children other than "content" are for debugging only and must not be used in production code
def num_children(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.invalid:
return 0;
return 6;
def read_unicode(self, pointer):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
process = self.valobj.GetTarget().GetProcess()
error = lldb.SBError()
pystr = u''
@@ -94,7 +94,7 @@ class CFStringSynthProvider:
# handle the special case strings
# only use the custom code for the tested LP64 case
def handle_special(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.is_64_bit == False:
# for 32bit targets, use safe ObjC code
return self.handle_unicode_string_safe()
@@ -112,7 +112,7 @@ class CFStringSynthProvider:
"(char*)\"" + self.valobj.GetObjectDescription() + "\"");
def handle_unicode_string(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
# step 1: find offset
if self.inline:
pointer = self.valobj.GetValueAsUnsigned(0) + self.size_of_cfruntime_base();
@@ -138,14 +138,14 @@ class CFStringSynthProvider:
return pystr.encode('utf-8')
def handle_inline_explicit(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
offset = 3*self.pointer_size
offset = offset + self.valobj.GetValueAsUnsigned(0)
return self.valobj.CreateValueFromExpression("content",
"(char*)(" + str(offset) + ")")
def handle_mutable_string(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
offset = 2 * self.pointer_size
data = self.valobj.CreateChildAtOffset("content",
offset, self.valobj.GetType().GetBasicType(lldb.eBasicTypeChar).GetPointerType());
@@ -154,7 +154,7 @@ class CFStringSynthProvider:
return self.valobj.CreateValueFromExpression("content", "(char*)(" + str(data_value) + ")")
def handle_UTF8_inline(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
offset = self.valobj.GetValueAsUnsigned(0) + self.size_of_cfruntime_base();
if self.explicit == False:
offset = offset + 1;
@@ -162,13 +162,13 @@ class CFStringSynthProvider:
offset, self.valobj.GetType().GetBasicType(lldb.eBasicTypeChar)).AddressOf();
def handle_UTF8_not_inline(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
offset = self.size_of_cfruntime_base();
return self.valobj.CreateChildAtOffset("content",
offset,self.valobj.GetType().GetBasicType(lldb.eBasicTypeChar).GetPointerType());
def get_child_at_index(self,index):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
logger >> "Querying for child [" + str(index) + "]"
if index == 0:
return self.valobj.CreateValueFromExpression("mutable",
@@ -215,7 +215,7 @@ class CFStringSynthProvider:
return self.handle_UTF8_not_inline();
def get_child_index(self,name):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
logger >> "Querying for child ['" + str(name) + "']"
if name == "content":
return self.num_children() - 1;
@@ -235,7 +235,7 @@ class CFStringSynthProvider:
# to get its size we add up sizeof(pointer)+4
# and then add 4 more bytes if we are on a 64bit system
def size_of_cfruntime_base(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return self.pointer_size+4+(4 if self.is_64_bit else 0)
# the info bits are part of the CFRuntimeBase structure
@@ -244,14 +244,14 @@ class CFStringSynthProvider:
# on big-endian this means going to byte 3, if we are on
# little endian (OSX & iOS), this means reading byte 0
def offset_of_info_bits(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
offset = self.pointer_size
if self.is_little == False:
offset = offset + 3;
return offset;
def read_info_bits(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
cfinfo = self.valobj.CreateChildAtOffset("cfinfo",
self.offset_of_info_bits(),
self.valobj.GetType().GetBasicType(lldb.eBasicTypeChar));
@@ -267,18 +267,18 @@ class CFStringSynthProvider:
# calculating internal flag bits of the CFString object
# this stuff is defined and discussed in CFString.c
def is_mutable(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return (self.info_bits & 1) == 1;
def is_inline(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return (self.info_bits & 0x60) == 0;
# this flag's name is ambiguous, it turns out
# we must skip a length byte to get at the data
# when this flag is False
def has_explicit_length(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return (self.info_bits & (1 | 4)) != 4;
# probably a subclass of NSString. obtained this from [str pathExtension]
@@ -286,17 +286,17 @@ class CFStringSynthProvider:
# in the long run using the isa value might be safer as a way to identify this
# instead of reading the info_bits
def is_special_case(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return self.info_bits == 0;
def is_unicode(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return (self.info_bits & 0x10) == 0x10;
# preparing ourselves to read into memory
# by adjusting architecture-specific info
def adjust_for_architecture(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.pointer_size = self.valobj.GetTarget().GetProcess().GetAddressByteSize()
self.is_64_bit = self.pointer_size == 8
self.is_little = self.valobj.GetTarget().GetProcess().GetByteOrder() == lldb.eByteOrderLittle
@@ -304,7 +304,7 @@ class CFStringSynthProvider:
# reading info bits out of the CFString and computing
# useful values to get at the real data
def compute_flags(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.info_bits = self.read_info_bits();
if self.info_bits == None:
return;
@@ -315,6 +315,6 @@ class CFStringSynthProvider:
self.special = self.is_special_case();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
self.compute_flags();
diff --git a/lldb/examples/summaries/cocoa/Class.py b/lldb/examples/summaries/cocoa/Class.py
index d572312b8a9..15fb7cb8143 100644
--- a/lldb/examples/summaries/cocoa/Class.py
+++ b/lldb/examples/summaries/cocoa/Class.py
@@ -6,11 +6,11 @@ This file is distributed under the University of Illinois Open Source
License. See LICENSE.TXT for details.
"""
import lldb
-import objc_runtime
-import Logger
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.Logger
def Class_Summary(valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
runtime = objc_runtime.ObjCRuntime.runtime_from_isa(valobj)
if runtime == None or not runtime.is_valid():
return '<error: unknown Class>'
diff --git a/lldb/examples/summaries/cocoa/NSBundle.py b/lldb/examples/summaries/cocoa/NSBundle.py
index 6ad7cc31dcc..7ef61d7ff4b 100644
--- a/lldb/examples/summaries/cocoa/NSBundle.py
+++ b/lldb/examples/summaries/cocoa/NSBundle.py
@@ -8,12 +8,12 @@ License. See LICENSE.TXT for details.
# summary provider for NSBundle
import lldb
import ctypes
-import objc_runtime
-import metrics
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.metrics
import NSURL
-import Logger
+import lldb.formatters.Logger
-statistics = metrics.Metrics()
+statistics = lldb.formatters.metrics.Metrics()
statistics.add_metric('invalid_isa')
statistics.add_metric('invalid_pointer')
statistics.add_metric('unknown_class')
@@ -27,7 +27,7 @@ class NSBundleKnown_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.NSString):
@@ -35,18 +35,18 @@ class NSBundleKnown_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# we need to skip the ISA, plus four other values
# that are luckily each a pointer in size
# which makes our computation trivial :-)
def offset(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return 5 * self.sys_params.pointer_size
def url_text(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global statistics
text = self.valobj.CreateChildAtOffset("text",
self.offset(),
@@ -65,17 +65,17 @@ class NSBundleUnknown_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
self.update()
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def url_text(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
stream = lldb.SBStream()
self.valobj.GetExpressionPath(stream)
expr = "(NSString*)[" + stream.GetData() + " bundlePath]"
@@ -86,7 +86,7 @@ class NSBundleUnknown_SummaryProvider:
def GetSummary_Impl(valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global statistics
class_data,wrapper = objc_runtime.Utilities.prepare_class_detection(valobj,statistics)
if wrapper:
@@ -107,7 +107,7 @@ def GetSummary_Impl(valobj):
return wrapper;
def NSBundle_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
diff --git a/lldb/examples/summaries/cocoa/NSData.py b/lldb/examples/summaries/cocoa/NSData.py
index f387d0fedb8..1a5eafa4d88 100644
--- a/lldb/examples/summaries/cocoa/NSData.py
+++ b/lldb/examples/summaries/cocoa/NSData.py
@@ -8,11 +8,11 @@ License. See LICENSE.TXT for details.
# summary provider for NSData
import lldb
import ctypes
-import objc_runtime
-import metrics
-import Logger
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.metrics
+import lldb.formatters.Logger
-statistics = metrics.Metrics()
+statistics = lldb.formatters.metrics.Metrics()
statistics.add_metric('invalid_isa')
statistics.add_metric('invalid_pointer')
statistics.add_metric('unknown_class')
@@ -26,7 +26,7 @@ class NSConcreteData_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
logger >> "NSConcreteData_SummaryProvider __init__"
self.valobj = valobj;
self.sys_params = params
@@ -49,7 +49,7 @@ class NSConcreteData_SummaryProvider:
return 2 * self.sys_params.pointer_size
def length(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
logger >> "NSConcreteData_SummaryProvider length"
size = self.valobj.CreateChildAtOffset("count",
self.offset(),
@@ -64,7 +64,7 @@ class NSDataUnknown_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
logger >> "NSDataUnknown_SummaryProvider __init__"
self.valobj = valobj;
self.sys_params = params
@@ -74,7 +74,7 @@ class NSDataUnknown_SummaryProvider:
self.adjust_for_architecture();
def length(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
logger >> "NSDataUnknown_SummaryProvider length"
stream = lldb.SBStream()
self.valobj.GetExpressionPath(stream)
@@ -90,7 +90,7 @@ class NSDataUnknown_SummaryProvider:
def GetSummary_Impl(valobj):
global statistics
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
logger >> "NSData GetSummary_Impl"
class_data,wrapper = objc_runtime.Utilities.prepare_class_detection(valobj,statistics)
if wrapper:
@@ -110,7 +110,7 @@ def GetSummary_Impl(valobj):
return wrapper;
def NSData_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
logger >> "NSData_SummaryProvider"
provider = GetSummary_Impl(valobj);
logger >> "found a summary provider, it is: " + str(provider)
@@ -133,7 +133,7 @@ def NSData_SummaryProvider (valobj,dict):
return 'Summary Unavailable'
def NSData_SummaryProvider2 (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
logger >> "NSData_SummaryProvider2"
provider = GetSummary_Impl(valobj);
logger >> "found a summary provider, it is: " + str(provider)
diff --git a/lldb/examples/summaries/cocoa/NSDate.py b/lldb/examples/summaries/cocoa/NSDate.py
index 35f22566d86..3a7f26f388b 100644
--- a/lldb/examples/summaries/cocoa/NSDate.py
+++ b/lldb/examples/summaries/cocoa/NSDate.py
@@ -8,15 +8,15 @@ License. See LICENSE.TXT for details.
# summary provider for NSDate
import lldb
import ctypes
-import objc_runtime
-import metrics
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.metrics
import struct
import time
import datetime
import CFString
-import Logger
+import lldb.formatters.Logger
-statistics = metrics.Metrics()
+statistics = lldb.formatters.metrics.Metrics()
statistics.add_metric('invalid_isa')
statistics.add_metric('invalid_pointer')
statistics.add_metric('unknown_class')
@@ -29,13 +29,13 @@ python_epoch = time.gmtime(0).tm_year
osx_epoch = datetime.date(2001,1,1).timetuple()
def mkgmtime(t):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return time.mktime(t)-time.timezone
osx_epoch = mkgmtime(osx_epoch)
def osx_to_python_time(osx):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if python_epoch <= 2001:
return osx + osx_epoch
else:
@@ -43,12 +43,12 @@ def osx_to_python_time(osx):
# represent a struct_time as a string in the format used by Xcode
def xcode_format_time(X):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return time.strftime('%Y-%m-%d %H:%M:%S %Z',X)
# represent a count-since-epoch as a string in the format used by Xcode
def xcode_format_count(X):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return xcode_format_time(time.localtime(X))
# despite the similary to synthetic children providers, these classes are not
@@ -59,7 +59,7 @@ class NSTaggedDate_SummaryProvider:
pass
def __init__(self, valobj, info_bits, data, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
self.update();
@@ -68,11 +68,11 @@ class NSTaggedDate_SummaryProvider:
self.data = ((data << 8) | (info_bits << 4))
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def value(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
# the value of the date-time object is wrapped into the pointer value
# unfortunately, it is made as a time-delta after Jan 1 2001 midnight GMT
# while all Python knows about is the "epoch", which is a platform-dependent
@@ -86,7 +86,7 @@ class NSUntaggedDate_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not (self.sys_params.types_cache.double):
@@ -94,15 +94,15 @@ class NSUntaggedDate_SummaryProvider:
self.update()
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def offset(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return self.sys_params.pointer_size
def value(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
value = self.valobj.CreateChildAtOffset("value",
self.offset(),
self.sys_params.types_cache.double)
@@ -114,7 +114,7 @@ class NSCalendarDate_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not (self.sys_params.types_cache.double):
@@ -122,15 +122,15 @@ class NSCalendarDate_SummaryProvider:
self.update()
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def offset(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return 2*self.sys_params.pointer_size
def value(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
value = self.valobj.CreateChildAtOffset("value",
self.offset(),
self.sys_params.types_cache.double)
@@ -142,7 +142,7 @@ class NSTimeZoneClass_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not (self.sys_params.types_cache.voidptr):
@@ -150,15 +150,15 @@ class NSTimeZoneClass_SummaryProvider:
self.update()
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def offset(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return self.sys_params.pointer_size
def timezone(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
tz_string = self.valobj.CreateChildAtOffset("tz_name",
self.offset(),
self.sys_params.types_cache.voidptr)
@@ -169,16 +169,16 @@ class NSUnknownDate_SummaryProvider:
pass
def __init__(self, valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.update()
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def value(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
stream = lldb.SBStream()
self.valobj.GetExpressionPath(stream)
expr = "(NSString*)[" + stream.GetData() + " description]"
@@ -188,7 +188,7 @@ class NSUnknownDate_SummaryProvider:
return '<variable is not NSDate>'
def GetSummary_Impl(valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global statistics
class_data,wrapper = objc_runtime.Utilities.prepare_class_detection(valobj,statistics)
if wrapper:
@@ -217,7 +217,7 @@ def GetSummary_Impl(valobj):
def NSDate_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
@@ -232,7 +232,7 @@ def NSDate_SummaryProvider (valobj,dict):
return 'Summary Unavailable'
def NSTimeZone_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
@@ -249,7 +249,7 @@ def NSTimeZone_SummaryProvider (valobj,dict):
def CFAbsoluteTime_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
try:
value_double = struct.unpack('d', struct.pack('Q', valobj.GetValueAsUnsigned(0)))[0]
return xcode_format_count(osx_to_python_time(value_double))
diff --git a/lldb/examples/summaries/cocoa/NSException.py b/lldb/examples/summaries/cocoa/NSException.py
index b8e762035e1..6e0c6f33191 100644
--- a/lldb/examples/summaries/cocoa/NSException.py
+++ b/lldb/examples/summaries/cocoa/NSException.py
@@ -6,13 +6,13 @@ This file is distributed under the University of Illinois Open Source
License. See LICENSE.TXT for details.
"""
# summary provider for class NSException
-import objc_runtime
-import metrics
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.metrics
import CFString
import lldb
-import Logger
+import lldb.formatters.Logger
-statistics = metrics.Metrics()
+statistics = lldb.formatters.metrics.Metrics()
statistics.add_metric('invalid_isa')
statistics.add_metric('invalid_pointer')
statistics.add_metric('unknown_class')
@@ -23,7 +23,7 @@ class NSKnownException_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not (self.sys_params.types_cache.id):
@@ -31,18 +31,18 @@ class NSKnownException_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def offset_name(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return self.sys_params.pointer_size
def offset_reason(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return 2*self.sys_params.pointer_size
def description(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
name_ptr = self.valobj.CreateChildAtOffset("name",
self.offset_name(),
self.sys_params.types_cache.id)
@@ -56,17 +56,17 @@ class NSUnknownException_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def description(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
stream = lldb.SBStream()
self.valobj.GetExpressionPath(stream)
name_vo = self.valobj.CreateValueFromExpression("name","(NSString*)[" + stream.GetData() + " name]");
@@ -77,7 +77,7 @@ class NSUnknownException_SummaryProvider:
def GetSummary_Impl(valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global statistics
class_data,wrapper = objc_runtime.Utilities.prepare_class_detection(valobj,statistics)
if wrapper:
@@ -95,7 +95,7 @@ def GetSummary_Impl(valobj):
return wrapper;
def NSException_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
diff --git a/lldb/examples/summaries/cocoa/NSIndexSet.py b/lldb/examples/summaries/cocoa/NSIndexSet.py
index 099505ebada..793f9fea33f 100644
--- a/lldb/examples/summaries/cocoa/NSIndexSet.py
+++ b/lldb/examples/summaries/cocoa/NSIndexSet.py
@@ -8,11 +8,11 @@ License. See LICENSE.TXT for details.
# summary provider for NS(Mutable)IndexSet
import lldb
import ctypes
-import objc_runtime
-import metrics
-import Logger
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.metrics
+import lldb.formatters.Logger
-statistics = metrics.Metrics()
+statistics = lldb.formatters.metrics.Metrics()
statistics.add_metric('invalid_isa')
statistics.add_metric('invalid_pointer')
statistics.add_metric('unknown_class')
@@ -26,7 +26,7 @@ class NSIndexSetClass_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.NSUInteger):
@@ -37,7 +37,7 @@ class NSIndexSetClass_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# NS(Mutable)IndexSet works in one of two modes: when having a compact block of data (e.g. a Range)
@@ -48,7 +48,7 @@ class NSIndexSetClass_SummaryProvider:
# is set, then we are in mode 1, using that area to store flags, otherwise, the read pointer is the
# location to go look for count in mode 2
def count(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
mode_chooser_vo = self.valobj.CreateChildAtOffset("mode_chooser",
2*self.sys_params.pointer_size,
self.sys_params.types_cache.NSUInteger)
@@ -78,17 +78,17 @@ class NSIndexSetUnknown_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def count(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
stream = lldb.SBStream()
self.valobj.GetExpressionPath(stream)
expr = "(int)[" + stream.GetData() + " count]"
@@ -99,7 +99,7 @@ class NSIndexSetUnknown_SummaryProvider:
def GetSummary_Impl(valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global statistics
class_data,wrapper = objc_runtime.Utilities.prepare_class_detection(valobj,statistics)
if wrapper:
@@ -118,7 +118,7 @@ def GetSummary_Impl(valobj):
def NSIndexSet_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
diff --git a/lldb/examples/summaries/cocoa/NSMachPort.py b/lldb/examples/summaries/cocoa/NSMachPort.py
index 05313aeffc9..a4f32fc67c9 100644
--- a/lldb/examples/summaries/cocoa/NSMachPort.py
+++ b/lldb/examples/summaries/cocoa/NSMachPort.py
@@ -8,11 +8,11 @@ License. See LICENSE.TXT for details.
# summary provider for NSData
import lldb
import ctypes
-import objc_runtime
-import metrics
-import Logger
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.metrics
+import lldb.formatters.Logger
-statistics = metrics.Metrics()
+statistics = lldb.formatters.metrics.Metrics()
statistics.add_metric('invalid_isa')
statistics.add_metric('invalid_pointer')
statistics.add_metric('unknown_class')
@@ -26,7 +26,7 @@ class NSMachPortKnown_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.NSUInteger):
@@ -37,21 +37,21 @@ class NSMachPortKnown_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# one pointer is the ISA
# then we have one other internal pointer, plus
# 4 bytes worth of flags. hence, these values
def offset(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.sys_params.is_64_bit:
return 20
else:
return 12
def port(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
vport = self.valobj.CreateChildAtOffset("port",
self.offset(),
self.sys_params.types_cache.NSUInteger)
@@ -63,17 +63,17 @@ class NSMachPortUnknown_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def port(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
stream = lldb.SBStream()
self.valobj.GetExpressionPath(stream)
num_children_vo = self.valobj.CreateValueFromExpression("port","(int)[" + stream.GetData() + " machPort]")
@@ -83,7 +83,7 @@ class NSMachPortUnknown_SummaryProvider:
def GetSummary_Impl(valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global statistics
class_data,wrapper = objc_runtime.Utilities.prepare_class_detection(valobj,statistics)
if wrapper:
@@ -101,7 +101,7 @@ def GetSummary_Impl(valobj):
return wrapper;
def NSMachPort_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
diff --git a/lldb/examples/summaries/cocoa/NSNotification.py b/lldb/examples/summaries/cocoa/NSNotification.py
index 5bae0998f3f..f624cfe133d 100644
--- a/lldb/examples/summaries/cocoa/NSNotification.py
+++ b/lldb/examples/summaries/cocoa/NSNotification.py
@@ -6,13 +6,13 @@ This file is distributed under the University of Illinois Open Source
License. See LICENSE.TXT for details.
"""
# summary provider for class NSNotification
-import objc_runtime
-import metrics
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.metrics
import CFString
import lldb
-import Logger
+import lldb.formatters.Logger
-statistics = metrics.Metrics()
+statistics = lldb.formatters.metrics.Metrics()
statistics.add_metric('invalid_isa')
statistics.add_metric('invalid_pointer')
statistics.add_metric('unknown_class')
@@ -23,7 +23,7 @@ class NSConcreteNotification_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not (self.sys_params.types_cache.id):
@@ -31,16 +31,16 @@ class NSConcreteNotification_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# skip the ISA and go to the name pointer
def offset(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return self.sys_params.pointer_size
def name(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
string_ptr = self.valobj.CreateChildAtOffset("name",
self.offset(),
self.sys_params.types_cache.id)
@@ -52,17 +52,17 @@ class NSNotificationUnknown_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
self.update()
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def name(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
stream = lldb.SBStream()
self.valobj.GetExpressionPath(stream)
name_vo = self.valobj.CreateValueFromExpression("name","(NSString*)[" + stream.GetData() + " name]")
@@ -72,7 +72,7 @@ class NSNotificationUnknown_SummaryProvider:
def GetSummary_Impl(valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global statistics
class_data,wrapper = objc_runtime.Utilities.prepare_class_detection(valobj,statistics)
if wrapper:
@@ -90,7 +90,7 @@ def GetSummary_Impl(valobj):
return wrapper;
def NSNotification_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
diff --git a/lldb/examples/summaries/cocoa/NSNumber.py b/lldb/examples/summaries/cocoa/NSNumber.py
index fdcc26097be..75ba635ddf4 100644
--- a/lldb/examples/summaries/cocoa/NSNumber.py
+++ b/lldb/examples/summaries/cocoa/NSNumber.py
@@ -8,12 +8,12 @@ License. See LICENSE.TXT for details.
# summary provider for NSNumber
import lldb
import ctypes
-import objc_runtime
-import metrics
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.metrics
import struct
-import Logger
+import lldb.formatters.Logger
-statistics = metrics.Metrics()
+statistics = lldb.formatters.metrics.Metrics()
statistics.add_metric('invalid_isa')
statistics.add_metric('invalid_pointer')
statistics.add_metric('unknown_class')
@@ -27,7 +27,7 @@ class NSTaggedNumber_SummaryProvider:
pass
def __init__(self, valobj, info_bits, data, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
self.info_bits = info_bits
@@ -35,11 +35,11 @@ class NSTaggedNumber_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def value(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
# in spite of the plenty of types made available by the public NSNumber API
# only a bunch of these are actually used in the internal implementation
# unfortunately, the original type information appears to be lost
@@ -61,7 +61,7 @@ class NSUntaggedNumber_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.char):
@@ -87,11 +87,11 @@ class NSUntaggedNumber_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def value(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global statistics
# we need to skip the ISA, then the next byte tells us what to read
# we then skip one other full pointer worth of data and then fetch the contents
@@ -165,17 +165,17 @@ class NSUnknownNumber_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def value(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
stream = lldb.SBStream()
self.valobj.GetExpressionPath(stream)
expr = "(NSString*)[" + stream.GetData() + " stringValue]"
@@ -185,7 +185,7 @@ class NSUnknownNumber_SummaryProvider:
return '<variable is not NSNumber>'
def GetSummary_Impl(valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global statistics
class_data,wrapper = objc_runtime.Utilities.prepare_class_detection(valobj,statistics)
if wrapper:
@@ -209,7 +209,7 @@ def GetSummary_Impl(valobj):
def NSNumber_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
diff --git a/lldb/examples/summaries/cocoa/NSSet.py b/lldb/examples/summaries/cocoa/NSSet.py
index a9378ae6228..a9b37dfeac7 100644
--- a/lldb/examples/summaries/cocoa/NSSet.py
+++ b/lldb/examples/summaries/cocoa/NSSet.py
@@ -8,12 +8,12 @@ License. See LICENSE.TXT for details.
# summary provider for NSSet
import lldb
import ctypes
-import objc_runtime
-import metrics
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.metrics
import CFBag
-import Logger
+import lldb.formatters.Logger
-statistics = metrics.Metrics()
+statistics = lldb.formatters.metrics.Metrics()
statistics.add_metric('invalid_isa')
statistics.add_metric('invalid_pointer')
statistics.add_metric('unknown_class')
@@ -27,7 +27,7 @@ class NSCFSet_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.NSUInteger):
@@ -38,21 +38,21 @@ class NSCFSet_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# one pointer is the ISA
# then we have one other internal pointer, plus
# 4 bytes worth of flags. hence, these values
def offset(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.sys_params.is_64_bit:
return 20
else:
return 12
def count(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
vcount = self.valobj.CreateChildAtOffset("count",
self.offset(),
self.sys_params.types_cache.NSUInteger)
@@ -64,17 +64,17 @@ class NSSetUnknown_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def count(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
stream = lldb.SBStream()
self.valobj.GetExpressionPath(stream)
expr = "(int)[" + stream.GetData() + " count]"
@@ -88,7 +88,7 @@ class NSSetI_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.NSUInteger):
@@ -99,16 +99,16 @@ class NSSetI_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# we just need to skip the ISA and the count immediately follows
def offset(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return self.sys_params.pointer_size
def count(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
num_children_vo = self.valobj.CreateChildAtOffset("count",
self.offset(),
self.sys_params.types_cache.NSUInteger)
@@ -129,7 +129,7 @@ class NSSetM_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.NSUInteger):
@@ -140,16 +140,16 @@ class NSSetM_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# we just need to skip the ISA and the count immediately follows
def offset(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return self.sys_params.pointer_size
def count(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
num_children_vo = self.valobj.CreateChildAtOffset("count",
self.offset(),
self.sys_params.types_cache.NSUInteger)
@@ -161,7 +161,7 @@ class NSCountedSet_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not (self.sys_params.types_cache.voidptr):
@@ -169,16 +169,16 @@ class NSCountedSet_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# an NSCountedSet is implemented using a CFBag whose pointer just follows the ISA
def offset(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return self.sys_params.pointer_size
def count(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
cfbag_vo = self.valobj.CreateChildAtOffset("bag_impl",
self.offset(),
self.sys_params.types_cache.voidptr)
@@ -186,7 +186,7 @@ class NSCountedSet_SummaryProvider:
def GetSummary_Impl(valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global statistics
class_data,wrapper = objc_runtime.Utilities.prepare_class_detection(valobj,statistics)
if wrapper:
@@ -214,7 +214,7 @@ def GetSummary_Impl(valobj):
def NSSet_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
try:
@@ -231,7 +231,7 @@ def NSSet_SummaryProvider (valobj,dict):
return 'Summary Unavailable'
def NSSet_SummaryProvider2 (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
diff --git a/lldb/examples/summaries/cocoa/NSURL.py b/lldb/examples/summaries/cocoa/NSURL.py
index 372d331de0c..3f3690c4999 100644
--- a/lldb/examples/summaries/cocoa/NSURL.py
+++ b/lldb/examples/summaries/cocoa/NSURL.py
@@ -8,12 +8,12 @@ License. See LICENSE.TXT for details.
# summary provider for NSURL
import lldb
import ctypes
-import objc_runtime
-import metrics
+import lldb.runtime.objc.objc_runtime
+import lldb.formatters.metrics
import CFString
-import Logger
+import lldb.formatters.Logger
-statistics = metrics.Metrics()
+statistics = lldb.formatters.metrics.Metrics()
statistics.add_metric('invalid_isa')
statistics.add_metric('invalid_pointer')
statistics.add_metric('unknown_class')
@@ -27,7 +27,7 @@ class NSURLKnown_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
if not(self.sys_params.types_cache.NSString):
@@ -37,7 +37,7 @@ class NSURLKnown_SummaryProvider:
self.update();
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
# one pointer is the ISA
@@ -45,14 +45,14 @@ class NSURLKnown_SummaryProvider:
# (which are also present on a 32-bit system)
# plus another pointer, and then the real data
def offset_text(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return 24 if self.sys_params.is_64_bit else 16
def offset_base(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return self.offset_text()+self.sys_params.pointer_size
def url_text(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
text = self.valobj.CreateChildAtOffset("text",
self.offset_text(),
self.sys_params.types_cache.NSString)
@@ -77,17 +77,17 @@ class NSURLUnknown_SummaryProvider:
pass
def __init__(self, valobj, params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj;
self.sys_params = params
self.update()
def update(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture();
def url_text(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
stream = lldb.SBStream()
self.valobj.GetExpressionPath(stream)
url_text_vo = self.valobj.CreateValueFromExpression("url","(NSString*)[" + stream.GetData() + " description]")
@@ -97,7 +97,7 @@ class NSURLUnknown_SummaryProvider:
def GetSummary_Impl(valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global statistics
class_data,wrapper = objc_runtime.Utilities.prepare_class_detection(valobj,statistics)
if wrapper:
@@ -115,7 +115,7 @@ def GetSummary_Impl(valobj):
return wrapper;
def NSURL_SummaryProvider (valobj,dict):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
provider = GetSummary_Impl(valobj);
if provider != None:
if isinstance(provider,objc_runtime.SpecialSituation_Description):
diff --git a/lldb/examples/summaries/cocoa/cache.py b/lldb/examples/summaries/cocoa/cache.py
index ea8df5946c8..066829d80d4 100644
--- a/lldb/examples/summaries/cocoa/cache.py
+++ b/lldb/examples/summaries/cocoa/cache.py
@@ -5,12 +5,12 @@ part of The LLVM Compiler Infrastructure
This file is distributed under the University of Illinois Open Source
License. See LICENSE.TXT for details.
"""
-import metrics
+import lldb.formatters.metrics
class Cache:
def __init__(self):
self.data = {}
- self.statistics = metrics.Metrics()
+ self.statistics = lldb.formatters.metrics.Metrics()
self.statistics.add_metric('hit')
self.statistics.add_metric('miss')
diff --git a/lldb/examples/summaries/cocoa/objc_runtime.py b/lldb/examples/summaries/cocoa/objc_runtime.py
index 33ba1d45a1f..a11e62255b0 100644
--- a/lldb/examples/summaries/cocoa/objc_runtime.py
+++ b/lldb/examples/summaries/cocoa/objc_runtime.py
@@ -6,15 +6,15 @@ This file is distributed under the University of Illinois Open Source
License. See LICENSE.TXT for details.
"""
import lldb
-import cache
-import attrib_fromdict
+import lldb.formatters.cache
+import lldb.formatters.attrib_fromdict
import functools
-import Logger
+import lldb.formatters.Logger
class Utilities:
@staticmethod
def read_ascii(process, pointer,max_len=128):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
error = lldb.SBError()
content = None
try:
@@ -27,7 +27,7 @@ class Utilities:
@staticmethod
def is_valid_pointer(pointer, pointer_size, allow_tagged=False, allow_NULL=False):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if pointer == None:
return False
if pointer == 0:
@@ -40,14 +40,14 @@ class Utilities:
# so if any pointer has bits 47 thru 63 high we know that this is not a valid isa
@staticmethod
def is_allowed_pointer(pointer):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if pointer == None:
return False
return ((pointer & 0xFFFF800000000000) == 0)
@staticmethod
def read_child_of(valobj,offset,type):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
child = valobj.CreateChildAtOffset("childUNK",offset,type)
if child == None or child.IsValid() == False:
return None;
@@ -55,7 +55,7 @@ class Utilities:
@staticmethod
def is_valid_identifier(name):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if name is None:
return None
if len(name) == 0:
@@ -70,7 +70,7 @@ class Utilities:
@staticmethod
def check_is_osx_lion(target):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
# assume the only thing that has a Foundation.framework is a Mac
# assume anything < Lion does not even exist
mod = target.module['Foundation']
@@ -86,7 +86,7 @@ class Utilities:
# returns a class_data and a wrapper (or None, if the runtime alone can't decide on a wrapper)
@staticmethod
def prepare_class_detection(valobj,statistics):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
class_data = ObjCRuntime(valobj)
if class_data.is_valid() == False:
statistics.metric_hit('invalid_pointer',valobj)
@@ -108,7 +108,7 @@ class Utilities:
class RoT_Data:
def __init__(self,rot_pointer,params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if (Utilities.is_valid_pointer(rot_pointer.GetValueAsUnsigned(),params.pointer_size, allow_tagged=False)):
self.sys_params = params
self.valobj = rot_pointer
@@ -137,7 +137,7 @@ class RoT_Data:
# pass
def __str__(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return \
"instanceSize = " + hex(self.instance_size()) + "\n" + \
"namePointer = " + hex(self.namePointer) + " --> " + self.name
@@ -146,7 +146,7 @@ class RoT_Data:
return self.valid
def instance_size(self,align=False):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.is_valid() == False:
return None
if self.instanceSize == None:
@@ -162,7 +162,7 @@ class RoT_Data:
class RwT_Data:
def __init__(self,rwt_pointer,params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if (Utilities.is_valid_pointer(rwt_pointer.GetValueAsUnsigned(),params.pointer_size, allow_tagged=False)):
self.sys_params = params
self.valobj = rwt_pointer
@@ -179,26 +179,26 @@ class RwT_Data:
# perform sanity checks on the contents of this class_rw_t
def check_valid(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valid = True
if not(Utilities.is_valid_pointer(self.roPointer,self.sys_params.pointer_size,allow_tagged=False)):
logger >> "Marking as invalid - ropointer is invalid"
self.valid = False
def __str__(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return \
"roPointer = " + hex(self.roPointer)
def is_valid(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.valid:
return self.data.is_valid()
return False
class Class_Data_V2:
def __init__(self,isa_pointer,params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if (isa_pointer != None) and (Utilities.is_valid_pointer(isa_pointer.GetValueAsUnsigned(),params.pointer_size, allow_tagged=False)):
self.sys_params = params
self.valobj = isa_pointer
@@ -214,7 +214,7 @@ class Class_Data_V2:
# this call tries to minimize the amount of data fetched- as soon as we have "proven"
# that we have an invalid object, we stop reading
def check_valid(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valid = True
self.isaPointer = Utilities.read_child_of(self.valobj,0,self.sys_params.types_cache.addr_ptr_type)
@@ -272,7 +272,7 @@ class Class_Data_V2:
# internally to implement the feature - this method will have no clue that a class
# has been KVO'ed unless the standard implementation technique is used
def is_kvo(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.is_valid():
if self.class_name().startswith("NSKVONotifying_"):
return True
@@ -283,12 +283,12 @@ class Class_Data_V2:
# which is __NSCFType (the versions without __ also exists and we are matching to it
# just to be on the safe side)
def is_cftype(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.is_valid():
return self.class_name() == '__NSCFType' or self.class_name() == 'NSCFType'
def get_superclass(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.is_valid():
parent_isa_pointer = self.valobj.CreateChildAtOffset("parent_isa",
self.sys_params.pointer_size,
@@ -298,20 +298,20 @@ class Class_Data_V2:
return None
def class_name(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.is_valid():
return self.data.data.name
else:
return None
def is_valid(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.valid:
return self.data.is_valid()
return False
def __str__(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return 'isaPointer = ' + hex(self.isaPointer) + "\n" + \
"superclassIsaPointer = " + hex(self.superclassIsaPointer) + "\n" + \
"cachePointer = " + hex(self.cachePointer) + "\n" + \
@@ -322,7 +322,7 @@ class Class_Data_V2:
return False
def instance_size(self,align=False):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.is_valid() == False:
return None
return self.rwt.rot.instance_size(align)
@@ -330,7 +330,7 @@ class Class_Data_V2:
# runtime v1 is much less intricate than v2 and stores relevant information directly in the class_t object
class Class_Data_V1:
def __init__(self,isa_pointer,params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if (isa_pointer != None) and (Utilities.is_valid_pointer(isa_pointer.GetValueAsUnsigned(),params.pointer_size, allow_tagged=False)):
self.valid = True
self.sys_params = params
@@ -347,7 +347,7 @@ class Class_Data_V1:
# perform sanity checks on the contents of this class_t
def check_valid(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valid = True
self.isaPointer = Utilities.read_child_of(self.valobj,0,self.sys_params.types_cache.addr_ptr_type)
@@ -372,7 +372,7 @@ class Class_Data_V1:
# internally to implement the feature - this method will have no clue that a class
# has been KVO'ed unless the standard implementation technique is used
def is_kvo(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.is_valid():
if self.class_name().startswith("NSKVONotifying_"):
return True
@@ -383,12 +383,12 @@ class Class_Data_V1:
# which is __NSCFType (the versions without __ also exists and we are matching to it
# just to be on the safe side)
def is_cftype(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.is_valid():
return self.class_name() == '__NSCFType' or self.class_name() == 'NSCFType'
def get_superclass(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.is_valid():
parent_isa_pointer = self.valobj.CreateChildAtOffset("parent_isa",
self.sys_params.pointer_size,
@@ -398,7 +398,7 @@ class Class_Data_V1:
return None
def class_name(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.is_valid():
return self.name
else:
@@ -408,7 +408,7 @@ class Class_Data_V1:
return self.valid
def __str__(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
return 'isaPointer = ' + hex(self.isaPointer) + "\n" + \
"superclassIsaPointer = " + hex(self.superclassIsaPointer) + "\n" + \
"namePointer = " + hex(self.namePointer) + " --> " + self.name + \
@@ -418,7 +418,7 @@ class Class_Data_V1:
return False
def instance_size(self,align=False):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.is_valid() == False:
return None
if self.instanceSize == None:
@@ -448,7 +448,7 @@ TaggedClass_Values_NMOS = {0: 'NSAtom', \
class TaggedClass_Data:
def __init__(self,pointer,params):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global TaggedClass_Values_Lion,TaggedClass_Values_NMOS
self.valid = True
self.name = None
@@ -476,7 +476,7 @@ class TaggedClass_Data:
return self.valid
def class_name(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.is_valid():
return self.name
else:
@@ -506,7 +506,7 @@ class TaggedClass_Data:
# it seems reasonable to say that a tagged pointer is the size of a pointer
def instance_size(self,align=False):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.is_valid() == False:
return None
return self.sys_params.pointer_size
@@ -557,19 +557,19 @@ class Version:
(self.release == other.release) and \
(self.build_string == other.build_string)
-runtime_version = cache.Cache()
-os_version = cache.Cache()
-types_caches = cache.Cache()
-isa_caches = cache.Cache()
+runtime_version = lldb.formatters.cache.Cache()
+os_version = lldb.formatters.cache.Cache()
+types_caches = lldb.formatters.cache.Cache()
+isa_caches = lldb.formatters.cache.Cache()
class SystemParameters:
def __init__(self,valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.adjust_for_architecture(valobj)
self.adjust_for_process(valobj)
def adjust_for_process(self, valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global runtime_version
global os_version
global types_caches
@@ -602,7 +602,7 @@ class SystemParameters:
if isa_caches.look_for_key(self.pid):
self.isa_cache = isa_caches.get_value(self.pid)
else:
- self.isa_cache = cache.Cache()
+ self.isa_cache = lldb.formatters.cache.Cache()
isa_caches.add_item(self.pid,self.isa_cache)
def adjust_for_architecture(self,valobj):
@@ -628,7 +628,7 @@ class ObjCRuntime:
# of a well-known section only present in v1
@staticmethod
def runtime_version(process):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if process.IsValid() == False:
logger >> "No process - bailing out"
return None
@@ -658,13 +658,13 @@ class ObjCRuntime:
@staticmethod
def runtime_from_isa(isa):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
runtime = ObjCRuntime(isa)
runtime.isa = isa
return runtime
def __init__(self,valobj):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
self.valobj = valobj
self.adjust_for_architecture()
self.sys_params = SystemParameters(self.valobj)
@@ -676,14 +676,14 @@ class ObjCRuntime:
# an ObjC pointer can either be tagged or must be aligned
def is_tagged(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.valobj is None:
return False
return (Utilities.is_valid_pointer(self.unsigned_value,self.sys_params.pointer_size, allow_tagged=True) and \
not(Utilities.is_valid_pointer(self.unsigned_value,self.sys_params.pointer_size, allow_tagged=False)))
def is_valid(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.valobj is None:
return False
if self.valobj.IsInScope() == False:
@@ -694,7 +694,7 @@ class ObjCRuntime:
return self.unsigned_value == 0
def read_isa(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
if self.isa_value != None:
logger >> "using cached isa"
return self.isa_value
@@ -711,7 +711,7 @@ class ObjCRuntime:
return isa_pointer
def read_class_data(self):
- logger = Logger.Logger()
+ logger = lldb.formatters.Logger.Logger()
global isa_cache
if self.is_tagged():
# tagged pointers only exist in ObjC v2
diff --git a/lldb/source/Interpreter/ScriptInterpreterPython.cpp b/lldb/source/Interpreter/ScriptInterpreterPython.cpp
index 3c1139f8ce2..29d818dfa5f 100644
--- a/lldb/source/Interpreter/ScriptInterpreterPython.cpp
+++ b/lldb/source/Interpreter/ScriptInterpreterPython.cpp
@@ -303,7 +303,7 @@ ScriptInterpreterPython::ScriptInterpreterPython (CommandInterpreter &interprete
// and letting the individual formatter classes exploit APIs to check whether they can/cannot do their task
run_string.Clear();
//run_string.Printf ("run_one_line (%s, 'from lldb.formatters import *; from lldb.formatters.objc import *; from lldb.formatters.cpp import *')", m_dictionary_name.c_str());
- run_string.Printf ("run_one_line (%s, 'from lldb.formatters import *')", m_dictionary_name.c_str());
+ run_string.Printf ("run_one_line (%s, 'import lldb.formatters.cache, lldb.formatters.Logger, lldb.formatters.attrib_fromdict, lldb.formatters.metrics')", m_dictionary_name.c_str());
PyRun_SimpleString (run_string.GetData());
int new_count = Debugger::TestDebuggerRefCount();
OpenPOWER on IntegriCloud