bloomberg / clang-p2996

Experimental clang support for WG21 P2996 (Reflection).
https://github.com/bloomberg/clang-p2996/tree/p2996/P2996.md
51 stars 8 forks source link

Introduce a SpliceSpecifier AST class #75

Open katzdm opened 1 month ago

katzdm commented 1 month ago

During P2996 wording review in St Louis, the notion of a splice-specifier was introduced for the [: constant-expression :] form shared by splice-expressions, splice-type-specifiers, splice-template-names, and splice-namespace-qualifiers. This is analogous to our internal notion of a CXXIndeterminateSpliceExpr - at minimum we should change the name, but we might also consider replacing it with a non-Expr class in some clang/include/AST/SpliceSpecifier.h (i.e., class SpliceSpecifier).

This might also give some breathing room to change the somewhat ridiculously named CXXExprSpliceExpr to CXXSpliceExpr (since there's then no longer a need to disambiguate from any other CXX*SpliceExpr classes), which would be nice.