ast: Have all AST types derive from ast::Node

A common base class is required to move from std::unique_ptr<> to raw pointers for AST types.

Also unifies a bunch of similar APIs.

Bug: tint:322
Change-Id: If829f8c3f22069adf62751365f1f1eeb646aba08
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/32660
Commit-Queue: Ben Clayton <bclayton@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
This commit is contained in:
Ben Clayton
2020-11-13 21:43:58 +00:00
committed by Commit Bot service account
parent 196e097730
commit 6f58546193
44 changed files with 104 additions and 79 deletions

View File

@@ -2844,7 +2844,7 @@ Expect<std::vector<std::unique_ptr<T>>> ParserImpl::cast_decorations(
std::stringstream msg;
msg << deco->GetKind() << " decoration type cannot be used for "
<< T::Kind;
add_error(deco->GetSource(), msg.str());
add_error(deco->source(), msg.str());
ok = false;
continue;
}
@@ -2864,7 +2864,7 @@ bool ParserImpl::expect_decorations_consumed(const ast::DecorationList& in) {
if (in.empty()) {
return true;
}
add_error(in[0]->GetSource(), "unexpected decorations");
add_error(in[0]->source(), "unexpected decorations");
return false;
}