Resolver: Move logic ValidateFunction() -> Function()
I inserted this non-validation code in the wrong method.
Change-Id: I43f6d8a0cbf6f0b5f20e453785b141b50d159044
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/46442
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/resolver/resolver.cc b/src/resolver/resolver.cc
index 3d11a23..ae04b15 100644
--- a/src/resolver/resolver.cc
+++ b/src/resolver/resolver.cc
@@ -248,15 +248,6 @@
}
for (auto* param : func->params()) {
- if (!ApplyStorageClassUsageToType(param->declared_storage_class(),
- param->declared_type(),
- param->source())) {
- diagnostics_.add_note("while instantiating parameter " +
- builder_->Symbols().NameFor(param->symbol()),
- param->source());
- return false;
- }
-
if (!ValidateParameter(param)) {
return false;
}
@@ -294,6 +285,15 @@
for (auto* param : func->params()) {
variable_stack_.set(param->symbol(), CreateVariableInfo(param));
+ if (!ApplyStorageClassUsageToType(param->declared_storage_class(),
+ param->declared_type(),
+ param->source())) {
+ diagnostics_.add_note("while instantiating parameter " +
+ builder_->Symbols().NameFor(param->symbol()),
+ param->source());
+ return false;
+ }
+
if (auto* str =
param->declared_type()->UnwrapAliasIfNeeded()->As<type::Struct>()) {
auto* info = Structure(str);