[Lldb-commits] [lldb] Add AddressRange to SB API (PR #92014)
Alex Langford via lldb-commits
lldb-commits at lists.llvm.org
Wed May 15 10:38:03 PDT 2024
================
@@ -0,0 +1,58 @@
+//===-- SBAddressRangeList.h ------------------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLDB_API_SBADDRESSRANGELIST_H
+#define LLDB_API_SBADDRESSRANGELIST_H
+
+#include <memory>
+
+#include "lldb/API/SBDefines.h"
+
+class AddressRangeListImpl;
+
+namespace lldb {
+
+class LLDB_API SBAddressRangeList {
+public:
+ SBAddressRangeList();
+
+ SBAddressRangeList(const lldb::SBAddressRangeList &rhs);
+
+ ~SBAddressRangeList();
+
+ const lldb::SBAddressRangeList &
+ operator=(const lldb::SBAddressRangeList &rhs);
+
+ uint32_t GetSize() const;
+
+ void Clear();
+
+ bool GetAddressRangeAtIndex(uint64_t idx, SBAddressRange &addr_range);
+
+ void Append(const lldb::SBAddressRange &addr_range);
+
+ void Append(const lldb::SBAddressRangeList &addr_range_list);
+
+protected:
+ const AddressRangeListImpl *operator->() const;
+
+ const AddressRangeListImpl &operator*() const;
+
+private:
+ friend class SBProcess;
+
+ lldb_private::AddressRanges &ref();
+
+ const lldb_private::AddressRanges &ref() const;
----------------
bulbazord wrote:
Even if other APIs need a reference to the combined address ranges, we could have a private header for `AddressRangeListImpl` in `source/API` so other classes can access it. I don't think we need to expose `lldb_private::AddressRanges` here. I don't want to expose the `AddressRanges` class in the ABI (through mangled names).
https://github.com/llvm/llvm-project/pull/92014
More information about the lldb-commits
mailing list