diff options
-rw-r--r-- | lldb/utils/TableGen/LLDBOptionDefEmitter.cpp | 17 | ||||
-rw-r--r-- | lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp | 9 | ||||
-rw-r--r-- | lldb/utils/TableGen/LLDBTableGenBackends.h | 6 |
3 files changed, 14 insertions, 18 deletions
diff --git a/lldb/utils/TableGen/LLDBOptionDefEmitter.cpp b/lldb/utils/TableGen/LLDBOptionDefEmitter.cpp index d17b2af1d8c..01eacbad771 100644 --- a/lldb/utils/TableGen/LLDBOptionDefEmitter.cpp +++ b/lldb/utils/TableGen/LLDBOptionDefEmitter.cpp @@ -20,14 +20,11 @@ #include <vector> using namespace llvm; - -/// Map of command names to their associated records. Also makes sure our -/// commands are sorted in a deterministic way. -typedef std::map<std::string, std::vector<Record *>> RecordsByCommand; +using namespace lldb_private; /// Groups all records by their command. -static RecordsByCommand getCommandList(std::vector<Record *> Options) { - RecordsByCommand result; +static RecordsByName getCommandList(std::vector<Record *> Options) { + RecordsByName result; for (Record *Option : Options) result[Option->getValueAsString("Command").str()].push_back(Option); return result; @@ -187,14 +184,10 @@ static void emitOptions(std::string Command, std::vector<Record *> Records, } void lldb_private::EmitOptionDefs(RecordKeeper &Records, raw_ostream &OS) { - - std::vector<Record *> Options = Records.getAllDerivedDefinitions("Option"); - emitSourceFileHeader("Options for LLDB command line commands.", OS); - RecordsByCommand ByCommand = getCommandList(Options); - - for (auto &CommandRecordPair : ByCommand) { + std::vector<Record *> Options = Records.getAllDerivedDefinitions("Option"); + for (auto &CommandRecordPair : getCommandList(Options)) { emitOptions(CommandRecordPair.first, CommandRecordPair.second, OS); } } diff --git a/lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp b/lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp index f707b8e8d7d..9e46218935b 100644 --- a/lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp +++ b/lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp @@ -19,14 +19,11 @@ #include <vector> using namespace llvm; - -/// Map of properties definitions to their associated records. Also makes sure -/// our property definitions are sorted in a deterministic way. -typedef std::map<std::string, std::vector<Record *>> RecordsByDefinition; +using namespace lldb_private; /// Groups all properties by their definition. -static RecordsByDefinition getPropertyList(std::vector<Record *> Properties) { - RecordsByDefinition result; +static RecordsByName getPropertyList(std::vector<Record *> Properties) { + RecordsByName result; for (Record *Property : Properties) result[Property->getValueAsString("Definition").str()].push_back(Property); return result; diff --git a/lldb/utils/TableGen/LLDBTableGenBackends.h b/lldb/utils/TableGen/LLDBTableGenBackends.h index e5c3548f1c1..41705530d54 100644 --- a/lldb/utils/TableGen/LLDBTableGenBackends.h +++ b/lldb/utils/TableGen/LLDBTableGenBackends.h @@ -16,11 +16,13 @@ #ifndef LLVM_LLDB_UTILS_TABLEGEN_TABLEGENBACKENDS_H #define LLVM_LLDB_UTILS_TABLEGEN_TABLEGENBACKENDS_H +#include <map> #include <string> namespace llvm { class raw_ostream; class RecordKeeper; +class Record; } // namespace llvm using llvm::raw_ostream; @@ -28,6 +30,10 @@ using llvm::RecordKeeper; namespace lldb_private { +/// Map of names to their associated records. This map also ensures that our +/// records are sorted in a deterministic way. +typedef std::map<std::string, std::vector<llvm::Record *>> RecordsByName; + void EmitOptionDefs(RecordKeeper &RK, raw_ostream &OS); void EmitPropertyDefs(RecordKeeper &RK, raw_ostream &OS); void EmitPropertyEnumDefs(RecordKeeper &RK, raw_ostream &OS); |