diff options
author | Jim Ingham <jingham@apple.com> | 2010-06-18 01:00:58 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2010-06-18 01:00:58 +0000 |
commit | 0136309f5aaf4fc0e11c20222ab4a3bfda1e5ec5 (patch) | |
tree | b401c0735afc8262c77f1d14d773fc90af88f6eb /lldb/source/Target/ThreadSpec.cpp | |
parent | ae1c4cf5680d8978ab5d12c5757ee5c448f98c12 (diff) | |
download | bcm5719-llvm-0136309f5aaf4fc0e11c20222ab4a3bfda1e5ec5.tar.gz bcm5719-llvm-0136309f5aaf4fc0e11c20222ab4a3bfda1e5ec5.zip |
Change the Breakpoint & BreakpointLocation GetDescription methods so they call the BreakpointOptions::GetDescription rather
than picking bits out of the breakpoint options. Added BreakpointOptions::GetDescription to do this job. Some more mucking
around to keep the breakpoint listing from getting too verbose.
llvm-svn: 106262
Diffstat (limited to 'lldb/source/Target/ThreadSpec.cpp')
-rw-r--r-- | lldb/source/Target/ThreadSpec.cpp | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/lldb/source/Target/ThreadSpec.cpp b/lldb/source/Target/ThreadSpec.cpp index 5d1089188fe..e2965582688 100644 --- a/lldb/source/Target/ThreadSpec.cpp +++ b/lldb/source/Target/ThreadSpec.cpp @@ -56,3 +56,67 @@ ThreadSpec::GetQueueName () const else return m_queue_name.c_str(); } + +bool +ThreadSpec::ThreadPassesBasicTests (Thread *thread) const +{ + + if (!HasSpecification()) + return true; + + if (!TIDMatches(thread->GetID())) + return false; + + if (!IndexMatches(thread->GetIndexID())) + return false; + + if (!NameMatches (thread->GetName())) + return false; + + if (!QueueNameMatches (thread->GetQueueName())) + return false; + + return true; + +} + +bool +ThreadSpec::HasSpecification() const +{ + return (m_index != -1 || m_tid != LLDB_INVALID_THREAD_ID || !m_name.empty() || !m_queue_name.empty()); +} +void +ThreadSpec::GetDescription (Stream *s, lldb::DescriptionLevel level) const +{ + if (!HasSpecification()) + { + if (level == eDescriptionLevelBrief) + { + s->PutCString("thread spec: no "); + } + } + else + { + if (level == eDescriptionLevelBrief) + { + s->PutCString("thread spec: yes "); + } + else + { + if (GetTID() != LLDB_INVALID_THREAD_ID) + s->Printf("tid: 0x%llx ", GetTID()); + + if (GetIndex() != -1) + s->Printf("index: %d ", GetIndex()); + + const char *name = GetName(); + if (name) + s->Printf ("thread name: \"%s\" ", name); + + const char *queue_name = GetQueueName(); + if (queue_name) + s->Printf ("queue name: \"%s\" ", queue_name); + } + + } +} |