diff options
| author | Sean Callanan <scallanan@apple.com> | 2012-12-19 23:05:01 +0000 |
|---|---|---|
| committer | Sean Callanan <scallanan@apple.com> | 2012-12-19 23:05:01 +0000 |
| commit | 7be70e85287e5b6f8acd38faff28895ddf58ca4f (patch) | |
| tree | 947ffc9b59a760d3cad654d7d63cebbe874ad701 /lldb/test | |
| parent | 6848e38daf24547a639a48e4585fef5268ede3cc (diff) | |
| download | bcm5719-llvm-7be70e85287e5b6f8acd38faff28895ddf58ca4f.tar.gz bcm5719-llvm-7be70e85287e5b6f8acd38faff28895ddf58ca4f.zip | |
This patch removes the SymbolFileSymtab support
for reporting class types from Objective-C runtime
class symbols. Instead, LLDB now queries the
Objective-C runtime for class types.
We have also added a (minimal) Objective-C runtime
type vendor for Objective-C runtime version 1, to
prevent regressions when calling class methods in
the V1 runtime.
Other components of this fix include:
- We search the Objective-C runtime in a few more
places.
- We enable enumeration of all members of
Objective-C classes, which Clang does in certain
circumstances.
- SBTarget::FindFirstType and SBTarget::FindTypes
now query the Objective-C runtime as needed.
- I fixed several test cases.
<rdar://problem/12885034>
llvm-svn: 170601
Diffstat (limited to 'lldb/test')
4 files changed, 13 insertions, 13 deletions
diff --git a/lldb/test/functionalities/data-formatter/rdar-11988289/TestRdar 11988289.py b/lldb/test/functionalities/data-formatter/rdar-11988289/TestRdar 11988289.py index ed389618867..0a85da7b529 100644 --- a/lldb/test/functionalities/data-formatter/rdar-11988289/TestRdar 11988289.py +++ b/lldb/test/functionalities/data-formatter/rdar-11988289/TestRdar 11988289.py @@ -59,23 +59,23 @@ class DataFormatterRdar11988289TestCase(TestBase): # Now check that we are displaying Cocoa classes correctly self.expect('frame variable dictionary', substrs = ['3 key/value pairs']) - self.expect('frame variable mutable', + self.expect('frame variable mutabledict', substrs = ['4 key/value pairs']) self.expect('frame variable dictionary --ptr-depth 1', substrs = ['3 key/value pairs','[0] = {','key = 0x','value = 0x','[1] = {','[2] = {']) - self.expect('frame variable mutable --ptr-depth 1', + self.expect('frame variable mutabledict --ptr-depth 1', substrs = ['4 key/value pairs','[0] = {','key = 0x','value = 0x','[1] = {','[2] = {','[3] = {']) self.expect('frame variable dictionary --ptr-depth 1 --dynamic-type no-run-target', substrs = ['3 key/value pairs','@"bar"','@"2 objects"','@"baz"','2 key/value pairs']) - self.expect('frame variable mutable --ptr-depth 1 --dynamic-type no-run-target', + self.expect('frame variable mutabledict --ptr-depth 1 --dynamic-type no-run-target', substrs = ['4 key/value pairs','(int)23','@"123"','@"http://www.apple.com"','@"puartist"','3 key/value pairs']) - self.expect('frame variable mutable --ptr-depth 2 --dynamic-type no-run-target', + self.expect('frame variable mutabledict --ptr-depth 2 --dynamic-type no-run-target', substrs = ['4 key/value pairs','(int)23','@"123"','@"http://www.apple.com"','@"puartist"','3 key/value pairs {','@"bar"','@"2 objects"']) - self.expect('frame variable mutable --ptr-depth 3 --dynamic-type no-run-target', + self.expect('frame variable mutabledict --ptr-depth 3 --dynamic-type no-run-target', substrs = ['4 key/value pairs','(int)23','@"123"','@"http://www.apple.com"','@"puartist"','3 key/value pairs {','@"bar"','@"2 objects"','(int)1','@"two"']) self.assertTrue(self.frame().FindVariable("dictionary").MightHaveChildren(), "dictionary says it does not have children!") - self.assertTrue(self.frame().FindVariable("mutable").MightHaveChildren(), "mutable says it does not have children!") + self.assertTrue(self.frame().FindVariable("mutabledict").MightHaveChildren(), "mutable says it does not have children!") if __name__ == '__main__': diff --git a/lldb/test/functionalities/data-formatter/rdar-11988289/main.m b/lldb/test/functionalities/data-formatter/rdar-11988289/main.m index c1ab2e4018a..62eed942d29 100644 --- a/lldb/test/functionalities/data-formatter/rdar-11988289/main.m +++ b/lldb/test/functionalities/data-formatter/rdar-11988289/main.m @@ -18,11 +18,11 @@ int main (int argc, const char * argv[]) NSArray* keys = @[@"foo",@"bar",@"baz"]; NSArray* values = @[@"hello",@[@"X",@"Y"],@{@1 : @"one",@2 : @"two"}]; NSDictionary* dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys]; - NSMutableDictionary* mutable = [NSMutableDictionary dictionaryWithCapacity:5]; - [mutable setObject:@"123" forKey:@23]; - [mutable setObject:[NSURL URLWithString:@"http://www.apple.com"] forKey:@"foobar"]; - [mutable setObject:@[@"a",@12] forKey:@57]; - [mutable setObject:dictionary forKey:@"puartist"]; + NSMutableDictionary* mutabledict = [NSMutableDictionary dictionaryWithCapacity:5]; + [mutabledict setObject:@"123" forKey:@23]; + [mutabledict setObject:[NSURL URLWithString:@"http://www.apple.com"] forKey:@"foobar"]; + [mutabledict setObject:@[@"a",@12] forKey:@57]; + [mutabledict setObject:dictionary forKey:@"puartist"]; [pool drain];// Set break point at this line. return 0; diff --git a/lldb/test/lang/objc/foundation/TestObjCMethods2.py b/lldb/test/lang/objc/foundation/TestObjCMethods2.py index 861d9fcab35..7b899aa433c 100644 --- a/lldb/test/lang/objc/foundation/TestObjCMethods2.py +++ b/lldb/test/lang/objc/foundation/TestObjCMethods2.py @@ -230,7 +230,7 @@ class FoundationTestCase2(TestBase): self.runCmd("run", RUN_SUCCEEDED) - self.expect("p [NSError errorWithDomain:@\"Hello\" code:35 userInfo:nil]", + self.expect("p [NSError thisMethodIsntImplemented:0]", error = True, patterns = ["no known method", "cast the message send to the method's return type"]) self.runCmd("process continue") diff --git a/lldb/test/python_api/type/TestTypeList.py b/lldb/test/python_api/type/TestTypeList.py index 05643e675cc..d0e4dd6c449 100644 --- a/lldb/test/python_api/type/TestTypeList.py +++ b/lldb/test/python_api/type/TestTypeList.py @@ -66,7 +66,7 @@ class TypeAndTypeListTestCase(TestBase): type_list = target.FindTypes('Task') if self.TraceOn(): print "Size of type_list from target.FindTypes('Task') query: %d" % type_list.GetSize() - self.assertTrue(len(type_list) == 1) + self.assertTrue(len(type_list) >= 1) # a second Task make be scared up by the Objective-C runtime for type in type_list: self.assertTrue(type) self.DebugSBType(type) |

