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.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@106262 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Breakpoint/BreakpointLocation.cpp b/source/Breakpoint/BreakpointLocation.cpp
index e00afca..ef9c431 100644
--- a/source/Breakpoint/BreakpointLocation.cpp
+++ b/source/Breakpoint/BreakpointLocation.cpp
@@ -109,15 +109,10 @@
 bool
 BreakpointLocation::InvokeCallback (StoppointCallbackContext *context)
 {
-    bool owner_result;
-
-    owner_result = m_owner.InvokeCallback (context, GetID());
-    if (owner_result == false)
-        return false;
-    else if (m_options_ap.get() != NULL)
+    if (m_options_ap.get() != NULL && m_options_ap->HasCallback())
         return m_options_ap->InvokeCallback (context, m_owner.GetID(), GetID());
-    else
-        return true;
+    else    
+        return m_owner.InvokeCallback (context, GetID());
 }
 
 void
@@ -166,9 +161,12 @@
 BreakpointOptions *
 BreakpointLocation::GetLocationOptions ()
 {
+    // If we make the copy we don't copy the callbacks because that is potentially 
+    // expensive and we don't want to do that for the simple case where someone is
+    // just disabling the location.
     if (m_options_ap.get() == NULL)
-        m_options_ap.reset(new BreakpointOptions (*m_owner.GetOptions ()));
-
+        m_options_ap.reset(BreakpointOptions::CopyOptionsNoCallback(*m_owner.GetOptions ()));
+    
     return m_options_ap.get();
 }
 
@@ -257,7 +255,8 @@
 {
     if (m_bp_site_sp.get())
     {
-        m_owner.GetTarget().GetProcessSP()->RemoveOwnerFromBreakpointSite (GetBreakpoint().GetID(), GetID(), m_bp_site_sp);
+        m_owner.GetTarget().GetProcessSP()->RemoveOwnerFromBreakpointSite (GetBreakpoint().GetID(), 
+                                                                           GetID(), m_bp_site_sp);
         m_bp_site_sp.reset();
         return true;
     }
@@ -353,29 +352,25 @@
         s->Printf("resolved = %s\n", IsResolved() ? "true" : "false");
 
         s->Indent();
-        s->Printf("enabled = %s\n", IsEnabled() ? "true" : "false");
-
-        s->Indent();
         s->Printf ("hit count = %-4u\n", GetHitCount());
 
         if (m_options_ap.get())
         {
-            Baton *baton = m_options_ap->GetBaton();
-            if (baton)
-            {
-                s->Indent();
-                baton->GetDescription (s, level);
-                s->EOL();
-            }
+            s->Indent();
+            m_options_ap->GetDescription (s, level);
+            s->EOL();
         }
         s->IndentLess();
     }
     else
     {
-        s->Printf(", %sresolved, %s, hit count = %u",
+        s->Printf(", %sresolved, hit count = %u ",
                   (IsResolved() ? "" : "un"),
-                  (IsEnabled() ? "enabled" : "disabled"),
                   GetHitCount());
+        if (m_options_ap.get())
+        {
+            m_options_ap->GetDescription (s, level);
+        }
     }
 }
 
@@ -385,7 +380,8 @@
     if (s == NULL)
         return;
 
-    s->Printf("BreakpointLocation %u: tid = %4.4x  load addr = 0x%8.8llx  state = %s  type = %s breakpoint  hw_index = %i  hit_count = %-4u  ignore_count = %-4u",
+    s->Printf("BreakpointLocation %u: tid = %4.4x  load addr = 0x%8.8llx  state = %s  type = %s breakpoint  "
+              "hw_index = %i  hit_count = %-4u  ignore_count = %-4u",
             GetID(),
             GetOptionsNoCopy()->GetThreadSpec()->GetTID(),
             (uint64_t) m_address.GetLoadAddress(m_owner.GetTarget().GetProcessSP().get()),