[Lldb-commits] [clang] [lldb] [clang]: support std::meta::info for primitive types (PR #190356)

Nhat Nguyen via lldb-commits lldb-commits at lists.llvm.org
Thu May 28 14:01:19 PDT 2026


================
@@ -5503,36 +5504,44 @@ class BuiltinBitCastExpr final
 ///  - an id-expression.
 class CXXReflectExpr : public Expr {
 
+private:
   // TODO(Reflection): add support for TemplateReference, NamespaceReference and
   // DeclRefExpr
-  using operand_type = llvm::PointerUnion<const TypeSourceInfo *>;
----------------
changkhothuychung wrote:

I made this non const because I see that a bunch of APIs that takes the operand_type of `CXXReflectExpr` as parameters as non-const, so we have to make a bunch of const_cast in those cases if we keep const in each element for `PointerUnion`


Also, I see other Expr's defined in the file `ExprCXX.h` also have the members inside `PointerUnion` as non-const. That's why I decided to remove the const here. 


https://github.com/llvm/llvm-project/pull/190356


More information about the lldb-commits mailing list