Add an LLDB data formatter script for llvm::SmallVector, maybe this is helpful to...
authorBenjamin Kramer <benny.kra@googlemail.com>
Tue, 17 Jan 2012 14:52:12 +0000 (14:52 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Tue, 17 Jan 2012 14:52:12 +0000 (14:52 +0000)
commitf61f22a5d1fffc6b83679f5b666f4afb787f6ae5
tree69e201041635cf3dfd45da8660f3b354fbc0cad0
parent44b920fac47e8047acd0ffdbd3b169b4fdfed06b
Add an LLDB data formatter script for llvm::SmallVector, maybe this is helpful to someone else.

This lets lldb give sane output for SmallVectors, e.g.
Before:
(lldb) p sv
(llvm::SmallVector<int, 10>) $0 = {
  (llvm::SmallVectorImpl<int>) llvm::SmallVectorImpl<int> = {
    (llvm::SmallVectorTemplateBase<int>) llvm::SmallVectorTemplateBase<int> = {
      (llvm::SmallVectorTemplateCommon<int>) llvm::SmallVectorTemplateCommon<int> = {
        (llvm::SmallVectorBase) llvm::SmallVectorBase = {
          (void *) BeginX = 0x00007fff5fbff960
...
}

After:
(lldb) p sv
(llvm::SmallVector<int, 10>) $0 = {
  (int) [0] = 42
  (int) [1] = 23
...
}

The script is still a bit rough so expect crashes for vectors of complex types.
Synthetic children are _not_ available in xcode 4.2, newer LLDBs should work though.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148308 91177308-0d34-0410-b5e6-96231b3b80d8
utils/lldbDataFormatters.py [new file with mode: 0644]