[Lldb-commits] [lldb] [lldb] Refactor DIL to take and store the context in `ExecutionContext` (PR #225849)
via lldb-commits
lldb-commits at lists.llvm.org
Mon Sep 28 13:46:10 PDT 2026
================
@@ -35,37 +35,44 @@ static CompilerType GetBasicType(lldb::TypeSystemSP type_system,
}
static lldb::ValueObjectSP ArrayToPointerConversion(ValueObject &valobj,
- ExecutionContextScope &ctx,
+ ExecutionContext &exe_ctx,
llvm::StringRef name) {
uint64_t addr = valobj.GetLoadAddress();
- ExecutionContext exe_ctx;
- ctx.CalculateExecutionContext(exe_ctx);
return ValueObject::CreateValueObjectFromAddress(
name, addr, exe_ctx,
- valobj.GetCompilerType().GetArrayElementType(&ctx).GetPointerType(),
+ valobj.GetCompilerType()
+ .GetArrayElementType(exe_ctx.GetBestExecutionContextScope())
+ .GetPointerType(),
/* do_deref */ false);
}
-static llvm::Expected<lldb::LanguageType>
-GetSourceLanguageFromCU(StackFrame &ctx) {
+llvm::Expected<lldb::LanguageType> Interpreter::GetSourceLanguageFromCU() {
+ auto frame_sp = m_exe_ctx.GetFrameSP();
+ if (!frame_sp)
+ return llvm::createStringError("no stack frame in execution context");
+
SymbolContext symbol_context =
- ctx.GetSymbolContext(lldb::eSymbolContextCompUnit);
+ frame_sp->GetSymbolContext(lldb::eSymbolContextCompUnit);
if (!symbol_context.comp_unit)
- return llvm::createStringErrorV("no compile unit for frame: {}",
- ctx.GetFunctionName());
+ return llvm::createStringErrorV("no compile unit for frame: {0}",
+ frame_sp->GetFunctionName());
return symbol_context.comp_unit->GetLanguage();
}
-static llvm::Expected<lldb::TypeSystemSP> GetTypeSystemFromCU(StackFrame &ctx) {
+llvm::Expected<lldb::TypeSystemSP> Interpreter::GetTypeSystemFromCU() {
+ auto frame_sp = m_exe_ctx.GetFrameSP();
+ if (!frame_sp)
+ return llvm::createStringError("no stack frame in execution context");
+
SymbolContext symbol_context =
- ctx.GetSymbolContext(lldb::eSymbolContextCompUnit);
+ frame_sp->GetSymbolContext(lldb::eSymbolContextCompUnit);
if (!symbol_context.comp_unit)
- return llvm::createStringErrorV("no compile unit for frame: {}",
- ctx.GetFunctionName());
+ return llvm::createStringErrorV("no compile unit for frame: {0}",
+ frame_sp->GetFunctionName());
----------------
cmtice wrote:
Ok.
https://github.com/llvm/llvm-project/pull/225849
More information about the lldb-commits
mailing list