Author: Raphael Isemann
Date: 2019-11-04T11:12:27+01:00
New Revision: 25b486ac4f335fc51240888d6cfbc9c3c211536a

URL: 
https://github.com/llvm/llvm-project/commit/25b486ac4f335fc51240888d6cfbc9c3c211536a
DIFF: 
https://github.com/llvm/llvm-project/commit/25b486ac4f335fc51240888d6cfbc9c3c211536a.diff

LOG: [lldb][NFC] Remove unused ExpressionParser::Parse

Summary:
This function is only used internally by ClangExpressionParser. By putting it 
in the ExpressionParser class all languages
that implement ExpressionParser::Parse have to share the same signature (which 
forces us in downstream to add
swift-specific arguments to ExpressionParser::Parse which then propagate to 
ClangExpressionParser and so on).

Reviewers: davide

Subscribers: JDevlieghere, lldb-commits

Tags: #upstreaming_lldb_s_downstream_patches, #lldb

Differential Revision: https://reviews.llvm.org/D69710

Added: 
    

Modified: 
    lldb/include/lldb/Expression/ExpressionParser.h
    lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h
    lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/include/lldb/Expression/ExpressionParser.h 
b/lldb/include/lldb/Expression/ExpressionParser.h
index 59f7c1592e83..4dec5d6a9aae 100644
--- a/lldb/include/lldb/Expression/ExpressionParser.h
+++ b/lldb/include/lldb/Expression/ExpressionParser.h
@@ -76,17 +76,6 @@ class ExpressionParser {
   virtual bool Complete(CompletionRequest &request, unsigned line, unsigned 
pos,
                         unsigned typed_pos) = 0;
 
-  /// Parse a single expression and convert it to IR using Clang.  Don't wrap
-  /// the expression in anything at all.
-  ///
-  /// \param[in] diagnostic_manager
-  ///     The diagnostic manager in which to store the errors and warnings.
-  ///
-  /// \return
-  ///     The number of errors encountered during parsing.  0 means
-  ///     success.
-  virtual unsigned Parse(DiagnosticManager &diagnostic_manager) = 0;
-
   /// Try to use the FixIts in the diagnostic_manager to rewrite the
   /// expression.  If successful, the rewritten expression is stored in the
   /// diagnostic_manager, get it out with GetFixedExpression.

diff  --git 
a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h 
b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h
index 79ad5728bf74..3741cf8e18b6 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h
@@ -77,7 +77,7 @@ class ClangExpressionParser : public ExpressionParser {
   /// \return
   ///     The number of errors encountered during parsing.  0 means
   ///     success.
-  unsigned Parse(DiagnosticManager &diagnostic_manager) override;
+  unsigned Parse(DiagnosticManager &diagnostic_manager);
 
   bool RewriteExpression(DiagnosticManager &diagnostic_manager) override;
 

diff  --git 
a/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp 
b/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp
index 8fbfa6e47578..3eeb50c53cbf 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp
@@ -186,10 +186,10 @@ ClangFunctionCaller::CompileFunction(lldb::ThreadSP 
thread_to_use_sp,
   lldb::ProcessSP jit_process_sp(m_jit_process_wp.lock());
   if (jit_process_sp) {
     const bool generate_debug_info = true;
-    m_parser.reset(new ClangExpressionParser(jit_process_sp.get(), *this,
-                                             generate_debug_info));
-
-    num_errors = m_parser->Parse(diagnostic_manager);
+    auto *clang_parser = new ClangExpressionParser(jit_process_sp.get(), *this,
+                                                   generate_debug_info);
+    num_errors = clang_parser->Parse(diagnostic_manager);
+    m_parser.reset(clang_parser);
   } else {
     diagnostic_manager.PutString(eDiagnosticSeverityError,
                                  "no process - unable to inject function");


        
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to