diff options
Diffstat (limited to 'include/lldb/Expression/UserExpression.h')
| -rw-r--r-- | include/lldb/Expression/UserExpression.h | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/include/lldb/Expression/UserExpression.h b/include/lldb/Expression/UserExpression.h index 96ca80c882e5..812d7e9a0eac 100644 --- a/include/lldb/Expression/UserExpression.h +++ b/include/lldb/Expression/UserExpression.h @@ -10,14 +10,10 @@ #ifndef liblldb_UserExpression_h_ #define liblldb_UserExpression_h_ -// C Includes -// C++ Includes #include <memory> #include <string> #include <vector> -// Other libraries and framework includes -// Project includes #include "lldb/Core/Address.h" #include "lldb/Expression/Expression.h" #include "lldb/Expression/Materializer.h" @@ -98,6 +94,34 @@ public: lldb_private::ExecutionPolicy execution_policy, bool keep_result_in_memory, bool generate_debug_info) = 0; + //------------------------------------------------------------------ + /// Attempts to find possible command line completions for the given + /// (possible incomplete) user expression. + /// + /// @param[in] exe_ctx + /// The execution context to use when looking up entities that + /// are needed for parsing and completing (locations of functions, types + /// of variables, persistent variables, etc.) + /// + /// @param[out] request + /// The completion request to fill out. The completion should be a string + /// that would complete the current token at the cursor position. + /// Note that the string in the list replaces the current token + /// in the command line. + /// + /// @param[in] complete_pos + /// The position of the cursor inside the user expression string. + /// The completion process starts on the token that the cursor is in. + /// + /// @return + /// True if we added any completion results to the output; + /// false otherwise. + //------------------------------------------------------------------ + virtual bool Complete(ExecutionContext &exe_ctx, CompletionRequest &request, + unsigned complete_pos) { + return false; + } + virtual bool CanInterpret() = 0; bool MatchesContext(ExecutionContext &exe_ctx); |
