mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-21 18:59:21 +00:00
Make all ast and sem pointers const
And remove a whole load of const_cast hackery. Semantic nodes may contain internally mutable fields (although only ever modified during resolving), so these are always passed by `const` pointer. While all AST nodes are internally immutable, we have decided that pointers to AST nodes should also be marked `const`, for consistency. There's still a collection of const_cast calls in the Resolver. These will be fixed up in a later change. Bug: tint:745 Change-Id: I046309b8e586772605fc0fe6b2d27f28806d40ef Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/66606 Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Ben Clayton <bclayton@chromium.org> Reviewed-by: David Neto <dneto@google.com>
This commit is contained in:
committed by
Tint LUCI CQ
parent
7d0fc07b20
commit
8648120bbe
@@ -33,10 +33,10 @@ TEST_F(ScopeStackTest, Global) {
|
||||
|
||||
TEST_F(ScopeStackTest, Global_SetWithPointer) {
|
||||
auto* v = Var("my_var", ty.f32(), ast::StorageClass::kNone);
|
||||
ScopeStack<ast::Variable*> s;
|
||||
ScopeStack<const ast::Variable*> s;
|
||||
s.set_global(v->symbol, v);
|
||||
|
||||
ast::Variable* v2 = nullptr;
|
||||
const ast::Variable* v2 = nullptr;
|
||||
EXPECT_TRUE(s.get(v->symbol, &v2));
|
||||
EXPECT_EQ(v2->symbol, v->symbol);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user