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

Change-Id: Ic838aa783a279d0939a972773206fee2e33c4bff
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/34274
Reviewed-by: dan sinclair <dsinclair@chromium.org>
This commit is contained in:
Ben Clayton
2020-11-30 23:30:58 +00:00
parent d11ced4765
commit 8a083ce9c8
35 changed files with 311 additions and 239 deletions

View File

@@ -185,13 +185,15 @@ bool BoundArrayAccessorsTransform::ProcessArrayAccessor(
auto* ret_type = expr->array()->result_type()->UnwrapAll();
if (!ret_type->Is<ast::type::ArrayType>() &&
!ret_type->Is<ast::type::MatrixType>() && !ret_type->IsVector()) {
!ret_type->Is<ast::type::MatrixType>() &&
!ret_type->Is<ast::type::VectorType>()) {
return true;
}
if (ret_type->IsVector() || ret_type->Is<ast::type::ArrayType>()) {
uint32_t size = ret_type->IsVector()
? ret_type->AsVector()->size()
if (ret_type->Is<ast::type::VectorType>() ||
ret_type->Is<ast::type::ArrayType>()) {
uint32_t size = ret_type->Is<ast::type::VectorType>()
? ret_type->As<ast::type::VectorType>()->size()
: ret_type->As<ast::type::ArrayType>()->size();
if (size == 0) {
error_ = "invalid 0 size for array or vector";