/// translation unit.
const char *Text() override { return m_transformed_text.c_str(); }
- lldb::ModuleSP GetJITModule() override;
-
protected:
lldb::ExpressionResults
DoExecute(DiagnosticManager &diagnostic_manager, ExecutionContext &exe_ctx,
return lldb::ExpressionVariableSP();
}
- virtual lldb::ModuleSP GetJITModule() { return lldb::ModuleSP(); }
-
/// Evaluate one expression in the scratch context of the target passed in
/// the exe_ctx and return its result.
///
/// If non-nullptr, the fixed expression is copied into the provided
/// string.
///
- /// \param[out] jit_module_sp_ptr
- /// If non-nullptr, used to persist the generated IR module.
- ///
/// \param[in] ctx_obj
/// If specified, then the expression will be evaluated in the context of
/// this object. It means that the context object's address will be
llvm::StringRef expr_cstr, llvm::StringRef expr_prefix,
lldb::ValueObjectSP &result_valobj_sp, Status &error,
std::string *fixed_expression = nullptr,
- lldb::ModuleSP *jit_module_sp_ptr = nullptr,
ValueObject *ctx_obj = nullptr);
static const Status::ValueType kNoResult =
return true;
}
-lldb::ModuleSP LLVMUserExpression::GetJITModule() {
- if (m_execution_unit_sp)
- return m_execution_unit_sp->GetJITModule();
- return lldb::ModuleSP();
-}
const char *expr_prefix = nullptr;
lldb::ValueObjectSP result_valobj_sp;
Status error;
- lldb::ModuleSP jit_module_sp;
lldb::ExpressionResults execution_results =
UserExpression::Evaluate(exe_ctx, expr_options, code.c_str(),
expr_prefix, result_valobj_sp, error,
- nullptr, // Fixed Expression
- &jit_module_sp);
+ nullptr); // fixed expression
// CommandInterpreter &ci = debugger.GetCommandInterpreter();
return ret;
}
-lldb::ExpressionResults UserExpression::Evaluate(
- ExecutionContext &exe_ctx, const EvaluateExpressionOptions &options,
- llvm::StringRef expr, llvm::StringRef prefix,
- lldb::ValueObjectSP &result_valobj_sp, Status &error,
- std::string *fixed_expression, lldb::ModuleSP *jit_module_sp_ptr,
- ValueObject *ctx_obj) {
+lldb::ExpressionResults
+UserExpression::Evaluate(ExecutionContext &exe_ctx,
+ const EvaluateExpressionOptions &options,
+ llvm::StringRef expr, llvm::StringRef prefix,
+ lldb::ValueObjectSP &result_valobj_sp, Status &error,
+ std::string *fixed_expression, ValueObject *ctx_obj) {
Log *log(lldb_private::GetLogIfAnyCategoriesSet(LIBLLDB_LOG_EXPRESSIONS |
LIBLLDB_LOG_STEP));
}
if (parse_success) {
- // If a pointer to a lldb::ModuleSP was passed in, return the JIT'ed module
- // if one was created
- if (jit_module_sp_ptr)
- *jit_module_sp_ptr = user_expression_sp->GetJITModule();
-
lldb::ExpressionVariableSP expr_result;
if (execution_policy == eExecutionPolicyNever &&
} else {
llvm::StringRef prefix = GetExpressionPrefixContents();
Status error;
- execution_results =
- UserExpression::Evaluate(exe_ctx, options, expr, prefix,
- result_valobj_sp, error, fixed_expression,
- nullptr, // Module
- ctx_obj);
+ execution_results = UserExpression::Evaluate(exe_ctx, options, expr, prefix,
+ result_valobj_sp, error,
+ fixed_expression, ctx_obj);
}
return execution_results;