Replace Type::(Is|As)Alias with Castable

Change-Id: I10f1d3d0757661a41b44517d55d6f159aced04ce
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/34263
Reviewed-by: dan sinclair <dsinclair@chromium.org>
This commit is contained in:
Ben Clayton
2020-11-30 23:30:58 +00:00
parent a8d87788da
commit 67864267c2
29 changed files with 62 additions and 89 deletions

View File

@@ -903,7 +903,7 @@ Maybe<ast::type::Type*> ParserImpl::type_alias() {
auto* alias = module_.create<ast::type::AliasType>(name.value, type.value);
register_constructed(name.value, alias);
return alias->AsAlias();
return alias;
}
// type_decl

View File

@@ -88,8 +88,8 @@ TEST_F(ParserImplTest, GlobalDecl_TypeAlias) {
auto& m = p->get_module();
ASSERT_EQ(m.constructed_types().size(), 1u);
ASSERT_TRUE(m.constructed_types()[0]->IsAlias());
EXPECT_EQ(m.constructed_types()[0]->AsAlias()->name(), "A");
ASSERT_TRUE(m.constructed_types()[0]->Is<ast::type::AliasType>());
EXPECT_EQ(m.constructed_types()[0]->As<ast::type::AliasType>()->name(), "A");
}
TEST_F(ParserImplTest, GlobalDecl_TypeAlias_StructIdent) {
@@ -107,8 +107,8 @@ type B = A;)");
auto* str = m.constructed_types()[0]->AsStruct();
EXPECT_EQ(str->name(), "A");
ASSERT_TRUE(m.constructed_types()[1]->IsAlias());
auto* alias = m.constructed_types()[1]->AsAlias();
ASSERT_TRUE(m.constructed_types()[1]->Is<ast::type::AliasType>());
auto* alias = m.constructed_types()[1]->As<ast::type::AliasType>();
EXPECT_EQ(alias->name(), "B");
EXPECT_EQ(alias->type(), str);
}

View File

@@ -36,8 +36,8 @@ TEST_F(ParserImplTest, TypeDecl_ParsesType) {
EXPECT_FALSE(t.errored);
EXPECT_TRUE(t.matched);
ASSERT_NE(t.value, nullptr);
ASSERT_TRUE(t->IsAlias());
auto* alias = t->AsAlias();
ASSERT_TRUE(t->Is<ast::type::AliasType>());
auto* alias = t->As<ast::type::AliasType>();
ASSERT_TRUE(alias->type()->IsI32());
ASSERT_EQ(alias->type(), i32);
}
@@ -53,8 +53,8 @@ TEST_F(ParserImplTest, TypeDecl_ParsesStruct_Ident) {
EXPECT_FALSE(t.errored);
EXPECT_TRUE(t.matched);
ASSERT_NE(t.value, nullptr);
ASSERT_TRUE(t->IsAlias());
auto* alias = t->AsAlias();
ASSERT_TRUE(t->Is<ast::type::AliasType>());
auto* alias = t->As<ast::type::AliasType>();
EXPECT_EQ(alias->name(), "a");
ASSERT_TRUE(alias->type()->IsStruct());

View File

@@ -58,9 +58,9 @@ TEST_F(ParserImplTest, TypeDecl_Identifier) {
EXPECT_FALSE(t.errored);
ASSERT_NE(t.value, nullptr) << p->error();
EXPECT_EQ(t.value, alias_type);
ASSERT_TRUE(t->IsAlias());
ASSERT_TRUE(t->Is<ast::type::AliasType>());
auto* alias = t->AsAlias();
auto* alias = t->As<ast::type::AliasType>();
EXPECT_EQ(alias->name(), "A");
EXPECT_EQ(alias->type(), int_type);
}