Make the Expression Execution result enum available to the SB API layer.
Add a callback that will allow an expression to be cancelled between the
expression evaluation stages (for the ClangUserExpressions.)

<rdar://problem/16790467>, <rdar://problem/16573440>

llvm-svn: 207944
diff --git a/lldb/source/Interpreter/CommandInterpreter.cpp b/lldb/source/Interpreter/CommandInterpreter.cpp
index 929fbfb..576700a 100644
--- a/lldb/source/Interpreter/CommandInterpreter.cpp
+++ b/lldb/source/Interpreter/CommandInterpreter.cpp
@@ -1456,7 +1456,7 @@
                     options.SetTryAllThreads(true);
                     options.SetTimeoutUsec(0);
                     
-                    ExecutionResults expr_result = target->EvaluateExpression (expr_str.c_str(), 
+                    ExpressionResults expr_result = target->EvaluateExpression (expr_str.c_str(), 
                                                                                exe_ctx.GetFramePtr(),
                                                                                expr_result_valobj_sp,
                                                                                options);
@@ -1499,6 +1499,11 @@
                                 case eExecutionSetupError: 
                                     error.SetErrorStringWithFormat("expression setup error for the expression '%s'", expr_str.c_str());
                                     break;
+                                case eExecutionParseError:
+                                    error.SetErrorStringWithFormat ("expression parse error for the expression '%s'", expr_str.c_str());
+                                    break;
+                                case eExecutionResultUnavailable:
+                                    error.SetErrorStringWithFormat ("expression error fetching result for the expression '%s'", expr_str.c_str());
                                 case eExecutionCompleted:
                                     break;
                                 case eExecutionDiscarded: