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

Reply via email to