[Lldb-commits] [PATCH] D59359: Safer casting in ClangExpressionParser code completion

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Mar 14 06:10:51 PDT 2019


labath added inline comments.


================
Comment at: lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp:860-861
   // as we always have a ClangUserExpression whenever we call this.
-  LLVMUserExpression &llvm_expr = *static_cast<LLVMUserExpression *>(&m_expr);
-  CodeComplete CC(request, m_compiler->getLangOpts(), llvm_expr.GetUserText(),
+  ClangUserExpression *llvm_expr = dyn_cast<ClangUserExpression>(&m_expr);
+  assert(llvm_expr && "m_expr not an ClangUserExpression?");
+  CodeComplete CC(request, m_compiler->getLangOpts(), llvm_expr->GetUserText(),
----------------
These two lines are equivalent to `auto *llvm_expr = cast<ClangUserExpression>(&m_expr);`


Repository:
  rLLDB LLDB

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D59359/new/

https://reviews.llvm.org/D59359





More information about the lldb-commits mailing list