diff options
Diffstat (limited to 'lldb/include/lldb/Expression/UserExpression.h')
-rw-r--r-- | lldb/include/lldb/Expression/UserExpression.h | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/lldb/include/lldb/Expression/UserExpression.h b/lldb/include/lldb/Expression/UserExpression.h index b1d52f8ddd55..83122d8ba518 100644 --- a/lldb/include/lldb/Expression/UserExpression.h +++ b/lldb/include/lldb/Expression/UserExpression.h @@ -33,12 +33,13 @@ namespace lldb_private { /// implementations of UserExpression - which will be vended through the /// appropriate TypeSystem. class UserExpression : public Expression { + /// LLVM RTTI support. + static char ID; + public: - /// LLVM-style RTTI support. - static bool classof(const Expression *E) { - return E->getKind() == eKindUserExpression; - } - + bool isA(const void *ClassID) const override { return ClassID == &ID; } + static bool classof(const Expression *obj) { return obj->isA(&ID); } + enum { kDefaultTimeout = 500000u }; /// Constructor @@ -46,10 +47,6 @@ public: /// \param[in] expr /// The expression to parse. /// - /// \param[in] expr_prefix - /// If non-nullptr, a C string containing translation-unit level - /// definitions to be included when the expression is parsed. - /// /// \param[in] language /// If not eLanguageTypeUnknown, a language to use when parsing /// the expression. Currently restricted to those languages @@ -61,8 +58,7 @@ public: UserExpression(ExecutionContextScope &exe_scope, llvm::StringRef expr, llvm::StringRef prefix, lldb::LanguageType language, ResultType desired_type, - const EvaluateExpressionOptions &options, - ExpressionKind kind); + const EvaluateExpressionOptions &options); /// Destructor ~UserExpression() override; @@ -166,8 +162,14 @@ public: /// A pointer to direct at the persistent variable in which the /// expression's result is stored. /// - /// \param[in] function_stack_pointer - /// A pointer to the base of the function's stack frame. This + /// \param[in] function_stack_bottom + /// A pointer to the bottom of the function's stack frame. This + /// is used to determine whether the expression result resides in + /// memory that will still be valid, or whether it needs to be + /// treated as homeless for the purpose of future expressions. + /// + /// \param[in] function_stack_top + /// A pointer to the top of the function's stack frame. This /// is used to determine whether the expression result resides in /// memory that will still be valid, or whether it needs to be /// treated as homeless for the purpose of future expressions. |