[Lldb-commits] [lldb] [lldb][Commands][NFC] Extract memory find expression evaluation into helpers (PR #143686)
Adrian Prantl via lldb-commits
lldb-commits at lists.llvm.org
Wed Jun 11 07:53:43 PDT 2025
================
@@ -885,6 +885,55 @@ class CommandObjectMemoryRead : public CommandObjectParsed {
#define LLDB_OPTIONS_memory_find
#include "CommandOptions.inc"
+static llvm::Error CopyExpressionResult(ValueObject &result,
+ DataBufferHeap &buffer) {
+ uint64_t value = result.GetValueAsUnsigned(0);
+ auto size_or_err = result.GetCompilerType().GetByteSize(nullptr);
+ if (!size_or_err)
+ return size_or_err.takeError();
+
+ switch (*size_or_err) {
+ case 1: {
+ uint8_t byte = (uint8_t)value;
+ buffer.CopyData(&byte, 1);
+ } break;
+ case 2: {
+ uint16_t word = (uint16_t)value;
+ buffer.CopyData(&word, 2);
+ } break;
+ case 4: {
+ uint32_t lword = (uint32_t)value;
+ buffer.CopyData(&lword, 4);
+ } break;
+ case 8: {
+ buffer.CopyData(&value, 8);
+ } break;
+ case 3:
+ case 5:
+ case 6:
+ case 7:
+ return llvm::createStringError("unknown type. pass a string instead");
----------------
adrian-prantl wrote:
```suggestion
return llvm::createStringError("unknown type. Pass a string instead");
```
Mildly confused about the "pass a string" advice. Is this user-visible and if yes, what's an example where this would be shown?
https://github.com/llvm/llvm-project/pull/143686
More information about the lldb-commits
mailing list