Roll back the changes I made in r193907 which created a new Frame
pure virtual base class and made StackFrame a subclass of that.  As
I started to build on top of that arrangement today, I found that it
wasn't working out like I intended.  Instead I'll try sticking with
the single StackFrame class -- there's too much code duplication to
make a more complicated class hierarchy sensible I think.

llvm-svn: 193983
diff --git a/lldb/source/API/SBBlock.cpp b/lldb/source/API/SBBlock.cpp
index 86215e6..c8a665f 100644
--- a/lldb/source/API/SBBlock.cpp
+++ b/lldb/source/API/SBBlock.cpp
@@ -20,7 +20,7 @@
 #include "lldb/Symbol/Function.h"
 #include "lldb/Symbol/SymbolContext.h"
 #include "lldb/Symbol/VariableList.h"
-#include "lldb/Target/Frame.h"
+#include "lldb/Target/StackFrame.h"
 #include "lldb/Target/Target.h"
 
 using namespace lldb;
@@ -264,7 +264,7 @@
     SBValueList value_list;
     if (block)
     {
-        FrameSP frame_sp(frame.GetFrameSP());
+        StackFrameSP frame_sp(frame.GetFrameSP());
         VariableListSP variable_list_sp (block->GetBlockVariableList (true));
 
         if (variable_list_sp)
diff --git a/lldb/source/API/SBCommandInterpreter.cpp b/lldb/source/API/SBCommandInterpreter.cpp
index bc662c9..ac77e2e 100644
--- a/lldb/source/API/SBCommandInterpreter.cpp
+++ b/lldb/source/API/SBCommandInterpreter.cpp
@@ -392,13 +392,13 @@
 extern "C" bool
 LLDBSwigPythonBreakpointCallbackFunction (const char *python_function_name,
                                           const char *session_dictionary_name,
-                                          const lldb::FrameSP& sb_frame,
+                                          const lldb::StackFrameSP& sb_frame,
                                           const lldb::BreakpointLocationSP& sb_bp_loc);
 
 extern "C" bool
 LLDBSwigPythonWatchpointCallbackFunction (const char *python_function_name,
                                           const char *session_dictionary_name,
-                                          const lldb::FrameSP& sb_frame,
+                                          const lldb::StackFrameSP& sb_frame,
                                           const lldb::WatchpointSP& sb_wp);
 
 extern "C" bool
@@ -473,7 +473,7 @@
 extern "C" bool
 LLDBSWIGPythonRunScriptKeywordFrame (const char* python_function_name,
                                      const char* session_dictionary_name,
-                                     lldb::FrameSP& frame,
+                                     lldb::StackFrameSP& frame,
                                      std::string& output);
 
 extern "C" void*
diff --git a/lldb/source/API/SBFrame.cpp b/lldb/source/API/SBFrame.cpp
index 02307c4..1a1a63b 100644
--- a/lldb/source/API/SBFrame.cpp
+++ b/lldb/source/API/SBFrame.cpp
@@ -33,7 +33,7 @@
 #include "lldb/Target/Target.h"
 #include "lldb/Target/Process.h"
 #include "lldb/Target/RegisterContext.h"
-#include "lldb/Target/Frame.h"
+#include "lldb/Target/StackFrame.h"
 #include "lldb/Target/StackID.h"
 #include "lldb/Target/Thread.h"
 
@@ -54,7 +54,7 @@
 {
 }
 
-SBFrame::SBFrame (const FrameSP &lldb_object_sp) :
+SBFrame::SBFrame (const StackFrameSP &lldb_object_sp) :
     m_opaque_sp (new ExecutionContextRef (lldb_object_sp))
 {
     Log *log(GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
@@ -86,16 +86,16 @@
 {
 }
 
-FrameSP
+StackFrameSP
 SBFrame::GetFrameSP() const
 {
     if (m_opaque_sp)
         return m_opaque_sp->GetFrameSP();
-    return FrameSP();
+    return StackFrameSP();
 }
 
 void
-SBFrame::SetFrameSP (const FrameSP &lldb_object_sp)
+SBFrame::SetFrameSP (const StackFrameSP &lldb_object_sp)
 {
     return m_opaque_sp->SetFrameSP(lldb_object_sp);
 }
@@ -114,7 +114,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -156,7 +156,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -198,7 +198,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -238,7 +238,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -278,7 +278,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -317,7 +317,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -355,7 +355,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Log *log(GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
     Process *process = exe_ctx.GetProcessPtr();
@@ -395,7 +395,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -432,7 +432,7 @@
     uint32_t frame_idx = UINT32_MAX;
     
     ExecutionContext exe_ctx(m_opaque_sp.get());
-    Frame *frame = exe_ctx.GetFramePtr();
+    StackFrame *frame = exe_ctx.GetFramePtr();
     if (frame)
         frame_idx = frame->GetFrameIndex ();
     
@@ -451,7 +451,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -491,7 +491,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -532,7 +532,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -572,7 +572,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -612,7 +612,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = exe_ctx.GetFramePtr();
+    StackFrame *frame = exe_ctx.GetFramePtr();
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -653,7 +653,7 @@
 {
     SBValue sb_value;
     ExecutionContext exe_ctx(m_opaque_sp.get());
-    Frame *frame = exe_ctx.GetFramePtr();
+    StackFrame *frame = exe_ctx.GetFramePtr();
     Target *target = exe_ctx.GetTargetPtr();
     if (frame && target)
     {
@@ -678,7 +678,7 @@
     
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -693,7 +693,7 @@
                 Error error;
                 ValueObjectSP value_sp (frame->GetValueForVariableExpressionPath (var_path,
                                                                                   eNoDynamicValues,
-                                                                                  Frame::eExpressionPathOptionCheckPtrVsMember | Frame::eExpressionPathOptionsAllowDirectIVarAccess,
+                                                                                  StackFrame::eExpressionPathOptionCheckPtrVsMember | StackFrame::eExpressionPathOptionsAllowDirectIVarAccess,
                                                                                   var_sp,
                                                                                   error));
                 sb_value.SetSP(value_sp, use_dynamic);
@@ -718,7 +718,7 @@
 {
     SBValue value;
     ExecutionContext exe_ctx(m_opaque_sp.get());
-    Frame *frame = exe_ctx.GetFramePtr();
+    StackFrame *frame = exe_ctx.GetFramePtr();
     Target *target = exe_ctx.GetTargetPtr();
     if (frame && target)
     {
@@ -747,7 +747,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -807,7 +807,7 @@
 {
     SBValue value;
     ExecutionContext exe_ctx(m_opaque_sp.get());
-    Frame *frame = exe_ctx.GetFramePtr();
+    StackFrame *frame = exe_ctx.GetFramePtr();
     Target *target = exe_ctx.GetTargetPtr();
     if (frame && target)
     {
@@ -834,7 +834,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -967,8 +967,8 @@
 bool
 SBFrame::IsEqual (const SBFrame &that) const
 {
-    lldb::FrameSP this_sp = GetFrameSP();
-    lldb::FrameSP that_sp = that.GetFrameSP();
+    lldb::StackFrameSP this_sp = GetFrameSP();
+    lldb::StackFrameSP that_sp = that.GetFrameSP();
     return (this_sp && that_sp && this_sp->GetStackID() == that_sp->GetStackID());
 }
 
@@ -1014,7 +1014,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -1055,7 +1055,7 @@
 {
     SBValueList value_list;
     ExecutionContext exe_ctx(m_opaque_sp.get());
-    Frame *frame = exe_ctx.GetFramePtr();
+    StackFrame *frame = exe_ctx.GetFramePtr();
     Target *target = exe_ctx.GetTargetPtr();
     if (frame && target)
     {
@@ -1078,7 +1078,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
 
     if (log)
@@ -1174,7 +1174,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -1224,7 +1224,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -1281,7 +1281,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    Frame *frame;
+    StackFrame *frame;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -1318,7 +1318,7 @@
 {
     SBValue result;
     ExecutionContext exe_ctx(m_opaque_sp.get());
-    Frame *frame = exe_ctx.GetFramePtr();
+    StackFrame *frame = exe_ctx.GetFramePtr();
     Target *target = exe_ctx.GetTargetPtr();
     if (frame && target)
     {
@@ -1374,7 +1374,7 @@
     if (log)
         log->Printf ("SBFrame()::EvaluateExpression (expr=\"%s\")...", expr);
 
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     
@@ -1436,7 +1436,7 @@
 {
     Log *log(GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
     ExecutionContext exe_ctx(m_opaque_sp.get());
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
@@ -1474,7 +1474,7 @@
     Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
     const char *name = NULL;
     ExecutionContext exe_ctx(m_opaque_sp.get());
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     Target *target = exe_ctx.GetTargetPtr();
     Process *process = exe_ctx.GetProcessPtr();
     if (target && process)
diff --git a/lldb/source/API/SBInstruction.cpp b/lldb/source/API/SBInstruction.cpp
index d879470..2334cc0 100644
--- a/lldb/source/API/SBInstruction.cpp
+++ b/lldb/source/API/SBInstruction.cpp
@@ -22,7 +22,7 @@
 #include "lldb/Core/EmulateInstruction.h"
 #include "lldb/Core/StreamFile.h"
 #include "lldb/Target/ExecutionContext.h"
-#include "lldb/Target/Frame.h"
+#include "lldb/Target/StackFrame.h"
 #include "lldb/Target/Target.h"
 
 using namespace lldb;
@@ -196,7 +196,7 @@
 {
     if (m_opaque_sp)
     {
-        lldb::FrameSP frame_sp (frame.GetFrameSP());
+        lldb::StackFrameSP frame_sp (frame.GetFrameSP());
 
         if (frame_sp)
         {
diff --git a/lldb/source/API/SBTarget.cpp b/lldb/source/API/SBTarget.cpp
index bb69755..cff6e4e 100644
--- a/lldb/source/API/SBTarget.cpp
+++ b/lldb/source/API/SBTarget.cpp
@@ -2644,7 +2644,7 @@
     ExecutionResults exe_results = eExecutionSetupError;
     ValueObjectSP expr_value_sp;
     TargetSP target_sp(GetSP());
-    Frame *frame = NULL;
+    StackFrame *frame = NULL;
     if (target_sp)
     {
         if (expr == NULL || expr[0] == '\0')
diff --git a/lldb/source/API/SBThread.cpp b/lldb/source/API/SBThread.cpp
index c972ce8..0c3a17e 100644
--- a/lldb/source/API/SBThread.cpp
+++ b/lldb/source/API/SBThread.cpp
@@ -594,7 +594,7 @@
     {
         Thread *thread = exe_ctx.GetThreadPtr();
         bool abort_other_plans = false;
-        FrameSP frame_sp(thread->GetStackFrameAtIndex (0));
+        StackFrameSP frame_sp(thread->GetStackFrameAtIndex (0));
 
         ThreadPlanSP new_plan_sp;
         if (frame_sp)
@@ -645,7 +645,7 @@
         bool abort_other_plans = false;
 
         Thread *thread = exe_ctx.GetThreadPtr();
-        FrameSP frame_sp(thread->GetStackFrameAtIndex (0));
+        StackFrameSP frame_sp(thread->GetStackFrameAtIndex (0));
         ThreadPlanSP new_plan_sp;
 
         if (frame_sp && frame_sp->HasDebugInformation ())
@@ -711,7 +711,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    FrameSP frame_sp (sb_frame.GetFrameSP());
+    StackFrameSP frame_sp (sb_frame.GetFrameSP());
     if (log)
     {
         SBStream frame_desc_strm;
@@ -801,7 +801,7 @@
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
-    FrameSP frame_sp (sb_frame.GetFrameSP());
+    StackFrameSP frame_sp (sb_frame.GetFrameSP());
 
     if (log)
     {
@@ -1112,7 +1112,7 @@
     Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
 
     SBFrame sb_frame;
-    FrameSP frame_sp;
+    StackFrameSP frame_sp;
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
@@ -1148,7 +1148,7 @@
     Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
 
     SBFrame sb_frame;
-    FrameSP frame_sp;
+    StackFrameSP frame_sp;
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
@@ -1184,7 +1184,7 @@
     Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
 
     SBFrame sb_frame;
-    FrameSP frame_sp;
+    StackFrameSP frame_sp;
     Mutex::Locker api_locker;
     ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
 
diff --git a/lldb/source/API/SBValue.cpp b/lldb/source/API/SBValue.cpp
index 993ffe4..51b6790 100644
--- a/lldb/source/API/SBValue.cpp
+++ b/lldb/source/API/SBValue.cpp
@@ -38,7 +38,7 @@
 #include "lldb/Symbol/VariableList.h"
 #include "lldb/Target/ExecutionContext.h"
 #include "lldb/Target/Process.h"
-#include "lldb/Target/Frame.h"
+#include "lldb/Target/StackFrame.h"
 #include "lldb/Target/Target.h"
 #include "lldb/Target/Thread.h"
 
@@ -199,13 +199,13 @@
             return ThreadSP();
     }
     
-    FrameSP
+    StackFrameSP
     GetFrameSP ()
     {
         if (m_valobj_sp)
             return m_valobj_sp->GetFrameSP();
         else
-            return FrameSP();
+            return StackFrameSP();
     }
     
 private:
@@ -1252,7 +1252,7 @@
 SBValue::GetFrame()
 {
     SBFrame sb_frame;
-    FrameSP frame_sp;
+    StackFrameSP frame_sp;
     if (m_opaque_sp)
     {
         frame_sp = m_opaque_sp->GetFrameSP();