[Lldb-commits] [lldb] draft: [lldb] Upgrade ValueObject::GetData to return llvm::Expected (PR #130516)

Adrian Prantl via lldb-commits lldb-commits at lists.llvm.org
Tue Apr 1 15:44:46 PDT 2025


================
@@ -88,6 +88,7 @@ class ValueObjectMockProcessTest : public ::testing::Test {
                                                       var_name, data_extractor);
       if (llvm::Error error = valobj_sp->Dump(strm, options))
----------------
adrian-prantl wrote:

The old function signature was 

```
uint64_t GetData(DataExtractor &data, Status &error);
```
the new one is
```
llvm::Expected<DataExtractor> GetData();
```
so you can do something like
```
uint64_t GetDataWithStatus(DataExtractor &data, ValueObject &valobj, Status &error) {
  auto data_extractor_or_err = valobj.GetData();
  if (data_extractor_or_err) {
    data = *data_extractor_or_err;
    return data.GetSize();
  }
  error = Status::FromError(data_extractor_or_err.takeError());
  return 0;
}
```

https://github.com/llvm/llvm-project/pull/130516


More information about the lldb-commits mailing list