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
This commit is contained in:
Sean Callanan
2012-12-19 23:05:01 +00:00
parent 6848e38daf
commit 7be70e8528
13 changed files with 170 additions and 78 deletions

View File

@@ -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)