tint/sem: Add Declaration() override for IndexAccessorExpression Convenience overload to return ast::IndexAccessorExpression instead of ast::Expression Change-Id: Ib239fd6d5742425a629fc76e1b564a3c7781ca2a Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/122342 Reviewed-by: Dan Sinclair <dsinclair@chromium.org> Commit-Queue: Ben Clayton <bclayton@chromium.org> Kokoro: Ben Clayton <bclayton@chromium.org>
diff --git a/src/tint/sem/index_accessor_expression.h b/src/tint/sem/index_accessor_expression.h index 2375a9d..8118659 100644 --- a/src/tint/sem/index_accessor_expression.h +++ b/src/tint/sem/index_accessor_expression.h
@@ -17,13 +17,9 @@ #include <vector> +#include "src/tint/ast/index_accessor_expression.h" #include "src/tint/sem/value_expression.h" -// Forward declarations -namespace tint::ast { -class IndexAccessorExpression; -} // namespace tint::ast - namespace tint::sem { /// IndexAccessorExpression holds the semantic information for a ast::IndexAccessorExpression node. @@ -52,6 +48,11 @@ /// Destructor ~IndexAccessorExpression() override; + /// @returns the AST node + const ast::IndexAccessorExpression* Declaration() const { + return static_cast<const ast::IndexAccessorExpression*>(declaration_); + } + /// @returns the object expression that is being indexed ValueExpression const* Object() const { return object_; }