================
@@ -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
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits