Change Target::EvaluateExpression to take an ExecutionContextScope * rather than a
StackFrame * (StackFrame is an ExecutionContextScope.)  That allows you to call an
expression on a particular Thread, but not using the context of any particular frame.
That in turn is useful for injecting utility functions that don't actually depend on
locals/self/etc of the current frame.

I also had to include StackFrame.h in a couple of places so the compiler knew
how to downcast StackFrame to ExecutionContextScope.

<rdar://problem/22852953>

llvm-svn: 251564
diff --git a/lldb/source/Plugins/Language/ObjC/CF.cpp b/lldb/source/Plugins/Language/ObjC/CF.cpp
index 0dc0c66..614eb29 100644
--- a/lldb/source/Plugins/Language/ObjC/CF.cpp
+++ b/lldb/source/Plugins/Language/ObjC/CF.cpp
@@ -19,6 +19,7 @@
 #include "lldb/Symbol/ClangASTContext.h"
 #include "lldb/Target/Language.h"
 #include "lldb/Target/ObjCLanguageRuntime.h"
+#include "lldb/Target/StackFrame.h"
 #include "lldb/Target/Target.h"
 
 using namespace lldb;
diff --git a/lldb/source/Plugins/Language/ObjC/NSDictionary.cpp b/lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
index 7735024..e4a7425 100644
--- a/lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
+++ b/lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
@@ -27,6 +27,7 @@
 #include "lldb/Symbol/ClangASTContext.h"
 #include "lldb/Target/Language.h"
 #include "lldb/Target/ObjCLanguageRuntime.h"
+#include "lldb/Target/StackFrame.h"
 #include "lldb/Target/Target.h"
 
 using namespace lldb;
diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp
index 46c8c17..d3377be 100644
--- a/lldb/source/Target/Target.cpp
+++ b/lldb/source/Target/Target.cpp
@@ -2165,7 +2165,7 @@
 
 ExpressionResults
 Target::EvaluateExpression(const char *expr_cstr,
-                           StackFrame *frame,
+                           ExecutionContextScope *exe_scope,
                            lldb::ValueObjectSP &result_valobj_sp,
                            const EvaluateExpressionOptions& options)
 {
@@ -2183,9 +2183,9 @@
 
     ExecutionContext exe_ctx;
     
-    if (frame)
+    if (exe_scope)
     {
-        frame->CalculateExecutionContext(exe_ctx);
+        exe_scope->CalculateExecutionContext(exe_ctx);
     }
     else if (m_process_sp)
     {