mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-18 09:25:25 +00:00
Add ProgramBuilder::Wrap()
Follows the basic shallow-clone pattern of type::Manager::Wrap(), which this new method uses. Use ProgramBuilder::Wrap() in the writers, where we were previously using type::Manager::Wrap(). This simplifies some of the logic (especially around AppendVector()). This is now required as semantic information is generated inside the writers for newly constructed AST nodes, and we need to register this semantic info so it can be fetched later. Change-Id: Ia362204a1f13054e50545baeb7d269f210a36826 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/39004 Commit-Queue: Ben Clayton <bclayton@google.com> Reviewed-by: dan sinclair <dsinclair@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
708dc2d040
commit
e43c830b14
@@ -35,6 +35,18 @@ class Info {
|
||||
/// @param rhs the Program to move
|
||||
/// @return this Program
|
||||
Info& operator=(Info&& rhs);
|
||||
|
||||
/// Wrap returns a new Info created with the contents of `inner`.
|
||||
/// The Info returned by Wrap is intended to temporarily extend the contents
|
||||
/// of an existing immutable Info.
|
||||
/// As the copied contents are owned by `inner`, `inner` must not be
|
||||
/// destructed or assigned while using the returned Info.
|
||||
/// @param inner the immutable Info to extend
|
||||
/// @return the Info that wraps `inner`
|
||||
static Info Wrap(const Info& inner) {
|
||||
(void)inner;
|
||||
return Info();
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace semantic
|
||||
|
||||
Reference in New Issue
Block a user