[clang] [clang]: support std::meta::info for primitive types (PR #190356)
Nhat Nguyen via cfe-commits
cfe-commits at lists.llvm.org
Mon Apr 13 11:47:58 PDT 2026
================
@@ -13102,7 +13102,10 @@ StmtResult TreeTransform<Derived>::TransformUnresolvedSYCLKernelCallStmt(
template <typename Derived>
ExprResult TreeTransform<Derived>::TransformCXXReflectExpr(CXXReflectExpr *E) {
// TODO(reflection): Implement its transform
- assert(false && "not implemented yet");
+ if (!E->isTypeDependent())
+ return E;
----------------
changkhothuychung wrote:
Would replacing
```cpp
if (!E->isTypeDependent())
return E;
```
by
```cpp
switch (E->getKind()) {
case ReflectionKind::Type: {
TypeSourceInfo *NewT = getDerived().TransformType(static_cast<TypeSourceInfo *>(const_cast<void *>(E->getOpaqueValue())));
if (!NewT)
return ExprError();
return SemaRef.BuildCXXReflectExpr(E->getOperatorLoc(), NewT);
}
}
```
make more sense for now? If not, I think its better to remove that test for now, and we can circle back to it later in upcoming PRs.
https://github.com/llvm/llvm-project/pull/190356
More information about the cfe-commits
mailing list