mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-16 08:27:05 +00:00
ast::TypesBuilder: Change const fields to getters
This is required in order to support move operators for TypesBuilder. Bug: tint:390 Change-Id: I9667bda5f5be267df092f5cd94dc40db053ae6e2 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/38555 Reviewed-by: dan sinclair <dsinclair@chromium.org>
This commit is contained in:
@@ -121,8 +121,8 @@ TEST_F(AccessControlTest, MinBufferBindingSizeRuntimeArray) {
|
||||
|
||||
TEST_F(AccessControlTest, MinBufferBindingSizeStruct) {
|
||||
auto* str = create<ast::Struct>(
|
||||
ast::StructMemberList{Member("foo", ty.u32, {MemberOffset(0)}),
|
||||
Member("bar", ty.u32, {MemberOffset(4)})},
|
||||
ast::StructMemberList{Member("foo", ty.u32(), {MemberOffset(0)}),
|
||||
Member("bar", ty.u32(), {MemberOffset(4)})},
|
||||
ast::StructDecorationList{});
|
||||
|
||||
auto* struct_type = ty.struct_("struct_type", str);
|
||||
@@ -155,8 +155,8 @@ TEST_F(AccessControlTest, BaseAlignmentRuntimeArray) {
|
||||
|
||||
TEST_F(AccessControlTest, BaseAlignmentStruct) {
|
||||
auto* str = create<ast::Struct>(
|
||||
ast::StructMemberList{Member("foo", ty.u32, {MemberOffset(0)}),
|
||||
Member("bar", ty.u32, {MemberOffset(4)})},
|
||||
ast::StructMemberList{Member("foo", ty.u32(), {MemberOffset(0)}),
|
||||
Member("bar", ty.u32(), {MemberOffset(4)})},
|
||||
ast::StructDecorationList{});
|
||||
auto* struct_type = ty.struct_("struct_type", str);
|
||||
|
||||
|
||||
@@ -41,13 +41,13 @@ namespace {
|
||||
using AliasTest = TestHelper;
|
||||
|
||||
TEST_F(AliasTest, Create) {
|
||||
auto* a = ty.alias("a_type", ty.u32);
|
||||
auto* a = ty.alias("a_type", ty.u32());
|
||||
EXPECT_EQ(a->symbol(), Symbol(1));
|
||||
EXPECT_EQ(a->type(), ty.u32);
|
||||
EXPECT_EQ(a->type(), ty.u32());
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, Is) {
|
||||
auto* at = ty.alias("a", ty.i32);
|
||||
auto* at = ty.alias("a", ty.i32());
|
||||
type::Type* ty = at;
|
||||
EXPECT_FALSE(ty->Is<AccessControl>());
|
||||
EXPECT_TRUE(ty->Is<Alias>());
|
||||
@@ -65,43 +65,43 @@ TEST_F(AliasTest, Is) {
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, TypeName) {
|
||||
auto* at = ty.alias("Particle", ty.i32);
|
||||
auto* at = ty.alias("Particle", ty.i32());
|
||||
EXPECT_EQ(at->type_name(), "__alias_tint_symbol_1__i32");
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, UnwrapIfNeeded_Alias) {
|
||||
auto* a = ty.alias("a_type", ty.u32);
|
||||
auto* a = ty.alias("a_type", ty.u32());
|
||||
EXPECT_EQ(a->symbol(), Symbol(1));
|
||||
EXPECT_EQ(a->type(), ty.u32);
|
||||
EXPECT_EQ(a->UnwrapIfNeeded(), ty.u32);
|
||||
EXPECT_EQ(ty.u32->UnwrapIfNeeded(), ty.u32);
|
||||
EXPECT_EQ(a->type(), ty.u32());
|
||||
EXPECT_EQ(a->UnwrapIfNeeded(), ty.u32());
|
||||
EXPECT_EQ(ty.u32()->UnwrapIfNeeded(), ty.u32());
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, UnwrapIfNeeded_AccessControl) {
|
||||
AccessControl a{ast::AccessControl::kReadOnly, ty.u32};
|
||||
EXPECT_EQ(a.type(), ty.u32);
|
||||
EXPECT_EQ(a.UnwrapIfNeeded(), ty.u32);
|
||||
AccessControl a{ast::AccessControl::kReadOnly, ty.u32()};
|
||||
EXPECT_EQ(a.type(), ty.u32());
|
||||
EXPECT_EQ(a.UnwrapIfNeeded(), ty.u32());
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, UnwrapIfNeeded_MultiLevel) {
|
||||
auto* a = ty.alias("a_type", ty.u32);
|
||||
auto* a = ty.alias("a_type", ty.u32());
|
||||
auto* aa = ty.alias("aa_type", a);
|
||||
|
||||
EXPECT_EQ(aa->symbol(), Symbol(2));
|
||||
EXPECT_EQ(aa->type(), a);
|
||||
EXPECT_EQ(aa->UnwrapIfNeeded(), ty.u32);
|
||||
EXPECT_EQ(aa->UnwrapIfNeeded(), ty.u32());
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, UnwrapIfNeeded_MultiLevel_AliasAccessControl) {
|
||||
auto* a = ty.alias("a_type", ty.u32);
|
||||
auto* a = ty.alias("a_type", ty.u32());
|
||||
|
||||
AccessControl aa{ast::AccessControl::kReadWrite, a};
|
||||
EXPECT_EQ(aa.type(), a);
|
||||
EXPECT_EQ(aa.UnwrapIfNeeded(), ty.u32);
|
||||
EXPECT_EQ(aa.UnwrapIfNeeded(), ty.u32());
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, UnwrapAll_TwiceAliasPointerTwiceAlias) {
|
||||
auto* a = ty.alias("a_type", ty.u32);
|
||||
auto* a = ty.alias("a_type", ty.u32());
|
||||
auto* aa = ty.alias("aa_type", a);
|
||||
Pointer paa{aa, ast::StorageClass::kUniform};
|
||||
auto* apaa = ty.alias("paa_type", &paa);
|
||||
@@ -109,11 +109,11 @@ TEST_F(AliasTest, UnwrapAll_TwiceAliasPointerTwiceAlias) {
|
||||
|
||||
EXPECT_EQ(aapaa->symbol(), Symbol(4));
|
||||
EXPECT_EQ(aapaa->type(), apaa);
|
||||
EXPECT_EQ(aapaa->UnwrapAll(), ty.u32);
|
||||
EXPECT_EQ(aapaa->UnwrapAll(), ty.u32());
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, UnwrapAll_SecondConsecutivePointerBlocksUnrapping) {
|
||||
auto* a = ty.alias("a_type", ty.u32);
|
||||
auto* a = ty.alias("a_type", ty.u32());
|
||||
auto* aa = ty.alias("aa_type", a);
|
||||
|
||||
Pointer paa{aa, ast::StorageClass::kUniform};
|
||||
@@ -123,7 +123,7 @@ TEST_F(AliasTest, UnwrapAll_SecondConsecutivePointerBlocksUnrapping) {
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, UnwrapAll_SecondNonConsecutivePointerBlocksUnrapping) {
|
||||
auto* a = ty.alias("a_type", ty.u32);
|
||||
auto* a = ty.alias("a_type", ty.u32());
|
||||
auto* aa = ty.alias("aa_type", a);
|
||||
Pointer paa{aa, ast::StorageClass::kUniform};
|
||||
|
||||
@@ -136,27 +136,27 @@ TEST_F(AliasTest, UnwrapAll_SecondNonConsecutivePointerBlocksUnrapping) {
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, UnwrapAll_AccessControlPointer) {
|
||||
AccessControl a{ast::AccessControl::kReadOnly, ty.u32};
|
||||
AccessControl a{ast::AccessControl::kReadOnly, ty.u32()};
|
||||
Pointer pa{&a, ast::StorageClass::kUniform};
|
||||
EXPECT_EQ(pa.type(), &a);
|
||||
EXPECT_EQ(pa.UnwrapAll(), ty.u32);
|
||||
EXPECT_EQ(pa.UnwrapAll(), ty.u32());
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, UnwrapAll_PointerAccessControl) {
|
||||
Pointer p{ty.u32, ast::StorageClass::kUniform};
|
||||
Pointer p{ty.u32(), ast::StorageClass::kUniform};
|
||||
AccessControl a{ast::AccessControl::kReadOnly, &p};
|
||||
|
||||
EXPECT_EQ(a.type(), &p);
|
||||
EXPECT_EQ(a.UnwrapAll(), ty.u32);
|
||||
EXPECT_EQ(a.UnwrapAll(), ty.u32());
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, MinBufferBindingSizeU32) {
|
||||
auto* alias = ty.alias("alias", ty.u32);
|
||||
auto* alias = ty.alias("alias", ty.u32());
|
||||
EXPECT_EQ(4u, alias->MinBufferBindingSize(MemoryLayout::kUniformBuffer));
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, MinBufferBindingSizeArray) {
|
||||
Array array(ty.u32, 4,
|
||||
Array array(ty.u32(), 4,
|
||||
ast::ArrayDecorationList{
|
||||
create<ast::StrideDecoration>(4),
|
||||
});
|
||||
@@ -165,7 +165,7 @@ TEST_F(AliasTest, MinBufferBindingSizeArray) {
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, MinBufferBindingSizeRuntimeArray) {
|
||||
Array array(ty.u32, 0,
|
||||
Array array(ty.u32(), 0,
|
||||
ast::ArrayDecorationList{
|
||||
create<ast::StrideDecoration>(4),
|
||||
});
|
||||
@@ -175,8 +175,8 @@ TEST_F(AliasTest, MinBufferBindingSizeRuntimeArray) {
|
||||
|
||||
TEST_F(AliasTest, MinBufferBindingSizeStruct) {
|
||||
auto* str = create<ast::Struct>(
|
||||
ast::StructMemberList{Member("foo", ty.u32, {MemberOffset(0)}),
|
||||
Member("bar", ty.u32, {MemberOffset(4)})},
|
||||
ast::StructMemberList{Member("foo", ty.u32(), {MemberOffset(0)}),
|
||||
Member("bar", ty.u32(), {MemberOffset(4)})},
|
||||
ast::StructDecorationList{});
|
||||
auto* struct_type = ty.struct_("struct_type", str);
|
||||
auto* alias = ty.alias("alias", struct_type);
|
||||
@@ -186,12 +186,12 @@ TEST_F(AliasTest, MinBufferBindingSizeStruct) {
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, BaseAlignmentU32) {
|
||||
auto* alias = ty.alias("alias", ty.u32);
|
||||
auto* alias = ty.alias("alias", ty.u32());
|
||||
EXPECT_EQ(4u, alias->BaseAlignment(MemoryLayout::kUniformBuffer));
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, BaseAlignmentArray) {
|
||||
Array array(ty.u32, 4,
|
||||
Array array(ty.u32(), 4,
|
||||
ast::ArrayDecorationList{
|
||||
create<ast::StrideDecoration>(4),
|
||||
});
|
||||
@@ -200,7 +200,7 @@ TEST_F(AliasTest, BaseAlignmentArray) {
|
||||
}
|
||||
|
||||
TEST_F(AliasTest, BaseAlignmentRuntimeArray) {
|
||||
Array array(ty.u32, 0,
|
||||
Array array(ty.u32(), 0,
|
||||
ast::ArrayDecorationList{
|
||||
create<ast::StrideDecoration>(4),
|
||||
});
|
||||
@@ -210,8 +210,8 @@ TEST_F(AliasTest, BaseAlignmentRuntimeArray) {
|
||||
|
||||
TEST_F(AliasTest, BaseAlignmentStruct) {
|
||||
auto* str = create<ast::Struct>(
|
||||
ast::StructMemberList{Member("foo", ty.u32, {MemberOffset(0)}),
|
||||
Member("bar", ty.u32, {MemberOffset(4)})},
|
||||
ast::StructMemberList{Member("foo", ty.u32(), {MemberOffset(0)}),
|
||||
Member("bar", ty.u32(), {MemberOffset(4)})},
|
||||
ast::StructDecorationList{});
|
||||
auto* struct_type = ty.struct_("struct_type", str);
|
||||
auto* alias = ty.alias("alias", struct_type);
|
||||
|
||||
@@ -75,8 +75,8 @@ TEST_F(StructTypeTest, TypeName) {
|
||||
|
||||
TEST_F(StructTypeTest, MinBufferBindingSize) {
|
||||
auto* str = create<ast::Struct>(
|
||||
ast::StructMemberList{Member("foo", ty.u32, {MemberOffset(0)}),
|
||||
Member("bar", ty.u32, {MemberOffset(4)})},
|
||||
ast::StructMemberList{Member("foo", ty.u32(), {MemberOffset(0)}),
|
||||
Member("bar", ty.u32(), {MemberOffset(4)})},
|
||||
ast::StructDecorationList{});
|
||||
auto* s_ty = ty.struct_("s_ty", str);
|
||||
|
||||
@@ -85,12 +85,12 @@ TEST_F(StructTypeTest, MinBufferBindingSize) {
|
||||
}
|
||||
|
||||
TEST_F(StructTypeTest, MinBufferBindingSizeArray) {
|
||||
Array arr(ty.u32, 4,
|
||||
Array arr(ty.u32(), 4,
|
||||
ast::ArrayDecorationList{create<ast::StrideDecoration>(4)});
|
||||
|
||||
auto* str = create<ast::Struct>(
|
||||
ast::StructMemberList{Member("foo", ty.u32, {MemberOffset(0)}),
|
||||
Member("bar", ty.u32, {MemberOffset(4)}),
|
||||
ast::StructMemberList{Member("foo", ty.u32(), {MemberOffset(0)}),
|
||||
Member("bar", ty.u32(), {MemberOffset(4)}),
|
||||
Member("bar", &arr, {MemberOffset(8)})},
|
||||
ast::StructDecorationList{});
|
||||
auto* s_ty = ty.struct_("s_ty", str);
|
||||
@@ -100,13 +100,13 @@ TEST_F(StructTypeTest, MinBufferBindingSizeArray) {
|
||||
}
|
||||
|
||||
TEST_F(StructTypeTest, MinBufferBindingSizeRuntimeArray) {
|
||||
Array arr(ty.u32, 0,
|
||||
Array arr(ty.u32(), 0,
|
||||
ast::ArrayDecorationList{create<ast::StrideDecoration>(4)});
|
||||
|
||||
auto* str = create<ast::Struct>(
|
||||
ast::StructMemberList{Member("foo", ty.u32, {MemberOffset(0)}),
|
||||
Member("bar", ty.u32, {MemberOffset(4)}),
|
||||
Member("bar", ty.u32, {MemberOffset(8)})},
|
||||
ast::StructMemberList{Member("foo", ty.u32(), {MemberOffset(0)}),
|
||||
Member("bar", ty.u32(), {MemberOffset(4)}),
|
||||
Member("bar", ty.u32(), {MemberOffset(8)})},
|
||||
ast::StructDecorationList{});
|
||||
auto* s_ty = ty.struct_("s_ty", str);
|
||||
|
||||
@@ -145,8 +145,8 @@ TEST_F(StructTypeTest, MinBufferBindingSizeVec4) {
|
||||
|
||||
TEST_F(StructTypeTest, BaseAlignment) {
|
||||
auto* str = create<ast::Struct>(
|
||||
ast::StructMemberList{Member("foo", ty.u32, {MemberOffset(0)}),
|
||||
Member("bar", ty.u32, {MemberOffset(8)})},
|
||||
ast::StructMemberList{Member("foo", ty.u32(), {MemberOffset(0)}),
|
||||
Member("bar", ty.u32(), {MemberOffset(8)})},
|
||||
ast::StructDecorationList{});
|
||||
auto* s_ty = ty.struct_("s_ty", str);
|
||||
|
||||
@@ -155,11 +155,11 @@ TEST_F(StructTypeTest, BaseAlignment) {
|
||||
}
|
||||
|
||||
TEST_F(StructTypeTest, BaseAlignmentArray) {
|
||||
Array arr(ty.u32, 4,
|
||||
Array arr(ty.u32(), 4,
|
||||
ast::ArrayDecorationList{create<ast::StrideDecoration>(4)});
|
||||
auto* str = create<ast::Struct>(
|
||||
ast::StructMemberList{Member("foo", ty.u32, {MemberOffset(0)}),
|
||||
Member("bar", ty.u32, {MemberOffset(4)}),
|
||||
ast::StructMemberList{Member("foo", ty.u32(), {MemberOffset(0)}),
|
||||
Member("bar", ty.u32(), {MemberOffset(4)}),
|
||||
Member("bar", &arr, {MemberOffset(8)})},
|
||||
ast::StructDecorationList{});
|
||||
auto* s_ty = ty.struct_("s_ty", str);
|
||||
@@ -169,12 +169,12 @@ TEST_F(StructTypeTest, BaseAlignmentArray) {
|
||||
}
|
||||
|
||||
TEST_F(StructTypeTest, BaseAlignmentRuntimeArray) {
|
||||
Array arr(ty.u32, 0,
|
||||
Array arr(ty.u32(), 0,
|
||||
ast::ArrayDecorationList{create<ast::StrideDecoration>(4)});
|
||||
auto* str = create<ast::Struct>(
|
||||
ast::StructMemberList{Member("foo", ty.u32, {MemberOffset(0)}),
|
||||
Member("bar", ty.u32, {MemberOffset(4)}),
|
||||
Member("bar", ty.u32, {MemberOffset(8)})},
|
||||
ast::StructMemberList{Member("foo", ty.u32(), {MemberOffset(0)}),
|
||||
Member("bar", ty.u32(), {MemberOffset(4)}),
|
||||
Member("bar", ty.u32(), {MemberOffset(8)})},
|
||||
ast::StructDecorationList{});
|
||||
auto* s_ty = ty.struct_("s_ty", str);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user