[Lldb-commits] [lldb] 6e1afd8 - [lldb][NFC] Minor comment and inlining fixes for Args
Raphael Isemann via lldb-commits
lldb-commits at lists.llvm.org
Fri Feb 5 01:19:39 PST 2021
Author: Raphael Isemann
Date: 2021-02-05T10:17:16+01:00
New Revision: 6e1afd858757256afdb619665befb790c76418bb
URL: https://github.com/llvm/llvm-project/commit/6e1afd858757256afdb619665befb790c76418bb
DIFF: https://github.com/llvm/llvm-project/commit/6e1afd858757256afdb619665befb790c76418bb.diff
LOG: [lldb][NFC] Minor comment and inlining fixes for Args
The element count getter can just be in the header. Also doxygenify some of the
comments and document m_argv's terminating nullptr element that the other
comments keep mentioning.
Added:
Modified:
lldb/include/lldb/Utility/Args.h
lldb/source/Utility/Args.cpp
Removed:
################################################################################
diff --git a/lldb/include/lldb/Utility/Args.h b/lldb/include/lldb/Utility/Args.h
index b93677b53935..cecf6b1502b5 100644
--- a/lldb/include/lldb/Utility/Args.h
+++ b/lldb/include/lldb/Utility/Args.h
@@ -115,7 +115,8 @@ class Args {
///
/// \return
/// The number or arguments in this object.
- size_t GetArgumentCount() const;
+ size_t GetArgumentCount() const { return m_entries.size(); }
+
bool empty() const { return GetArgumentCount() == 0; }
/// Gets the NULL terminated C string argument pointer for the argument at
@@ -252,9 +253,9 @@ class Args {
/// If the argument was originally quoted, put in the quote char here.
void Unshift(llvm::StringRef arg_str, char quote_char = '\0');
- // Clear the arguments.
- //
- // For re-setting or blanking out the list of arguments.
+ /// Clear the arguments.
+ ///
+ /// For re-setting or blanking out the list of arguments.
void Clear();
static lldb::Encoding
@@ -266,21 +267,20 @@ class Args {
static std::string GetShellSafeArgument(const FileSpec &shell,
llvm::StringRef unsafe_arg);
- // EncodeEscapeSequences will change the textual representation of common
- // escape sequences like "\n" (two characters) into a single '\n'. It does
- // this for all of the supported escaped sequences and for the \0ooo (octal)
- // and \xXX (hex). The resulting "dst" string will contain the character
- // versions of all supported escape sequences. The common supported escape
- // sequences are: "\a", "\b", "\f", "\n", "\r", "\t", "\v", "\'", "\"", "\\".
-
+ /// EncodeEscapeSequences will change the textual representation of common
+ /// escape sequences like "\n" (two characters) into a single '\n'. It does
+ /// this for all of the supported escaped sequences and for the \0ooo (octal)
+ /// and \xXX (hex). The resulting "dst" string will contain the character
+ /// versions of all supported escape sequences. The common supported escape
+ /// sequences are: "\a", "\b", "\f", "\n", "\r", "\t", "\v", "\'", "\"", "\\".
static void EncodeEscapeSequences(const char *src, std::string &dst);
- // ExpandEscapeSequences will change a string of possibly non-printable
- // characters and expand them into text. So '\n' will turn into two
- // characters like "\n" which is suitable for human reading. When a character
- // is not printable and isn't one of the common in escape sequences listed in
- // the help for EncodeEscapeSequences, then it will be encoded as octal.
- // Printable characters are left alone.
+ /// ExpandEscapeSequences will change a string of possibly non-printable
+ /// characters and expand them into text. So '\n' will turn into two
+ /// characters like "\n" which is suitable for human reading. When a character
+ /// is not printable and isn't one of the common in escape sequences listed in
+ /// the help for EncodeEscapeSequences, then it will be encoded as octal.
+ /// Printable characters are left alone.
static void ExpandEscapedCharacters(const char *src, std::string &dst);
static std::string EscapeLLDBCommandArgument(const std::string &arg,
@@ -290,6 +290,10 @@ class Args {
friend struct llvm::yaml::MappingTraits<Args>;
std::vector<ArgEntry> m_entries;
+ /// The arguments as C strings with a trailing nullptr element.
+ ///
+ /// These strings are owned by the ArgEntry object in m_entries with the
+ /// same index.
std::vector<char *> m_argv;
};
diff --git a/lldb/source/Utility/Args.cpp b/lldb/source/Utility/Args.cpp
index ed61e1c16303..60d0790c9d29 100644
--- a/lldb/source/Utility/Args.cpp
+++ b/lldb/source/Utility/Args.cpp
@@ -256,8 +256,6 @@ void Args::SetCommandString(llvm::StringRef command) {
m_argv.push_back(nullptr);
}
-size_t Args::GetArgumentCount() const { return m_entries.size(); }
-
const char *Args::GetArgumentAtIndex(size_t idx) const {
if (idx < m_argv.size())
return m_argv[idx];
More information about the lldb-commits
mailing list