mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-09 05:27:49 +00:00
sem: Have sem::Type derive from sem::Node
Having a common base class will tighten up some of the dynamic casting that we do. Bug: tint:724 Change-Id: I45c6f200e1ec242ddb08ce75bd1c4c037a21a38d Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/49882 Commit-Queue: Ben Clayton <bclayton@google.com> Reviewed-by: James Price <jrprice@google.com>
This commit is contained in:
committed by
Commit Bot service account
parent
a0174e613f
commit
58750eab19
@@ -304,7 +304,10 @@ class ProgramBuilder {
|
||||
/// @param args the arguments to pass to the type constructor
|
||||
/// @returns the node pointer
|
||||
template <typename T, typename... ARGS>
|
||||
traits::EnableIfIsType<T, sem::Node>* create(ARGS&&... args) {
|
||||
traits::EnableIf<traits::IsTypeOrDerived<T, sem::Node>::value &&
|
||||
!traits::IsTypeOrDerived<T, sem::Type>::value,
|
||||
T>*
|
||||
create(ARGS&&... args) {
|
||||
AssertNotMoved();
|
||||
return sem_nodes_.Create<T>(std::forward<ARGS>(args)...);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user