================
@@ -13,11 +13,42 @@
#include <string>
#include <vector>
+#include "llvm/ADT/StringSet.h"
+
namespace lldb_private {
class StreamString;
class Log;
+class FieldEnum {
+public:
+ struct Enumerator {
+ uint64_t m_value;
+ // Short name for the value. Shown in tables and when printing the field's
+ // value. For example "RZ".
+ std::string m_name;
+
+ Enumerator(uint64_t value, std::string name)
+ : m_value(value), m_name(name) {}
+
+ void ToXML(StreamString &strm) const;
+ };
+
+ typedef std::vector<Enumerator> Enumerators;
+
+ FieldEnum(std::string id, const Enumerators &enumerators);
+
+ const Enumerators &GetEnumerators() const { return m_enumerators; }
+
+ const std::string &GetID() const { return m_id; }
+
+ void ToXML(StreamString &strm, unsigned size) const;
+
+private:
+ std::string m_id;
+ std::vector<Enumerator> m_enumerators;
----------------
DavidSpickett wrote:
Yes, I think I've done this in a few other places too.
https://github.com/llvm/llvm-project/pull/90063
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits