[modular_aot] Fix number of optional named parameters when reading function types from module snapshot

TEST=ci

Issue: https://github.com/dart-lang/sdk/issues/61635
Change-Id: Iaa38ca6c62f9899d2c3f0363c484dbe15e0a9859
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/509523
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
This commit is contained in:
Alexander Markov
2026-06-08 07:36:51 -07:00
committed by dart-scoped@luci-project-accounts.iam.gserviceaccount.com
parent ea1360fbaf
commit 7df4ef0cf1
2 changed files with 6 additions and 3 deletions
+3 -1
View File
@@ -1057,12 +1057,14 @@ class FunctionTypeDeserializationCluster : public DeserializationCluster {
const intptr_t num_fixed_params = type.num_fixed_parameters();
type.set_num_implicit_parameters(1); // Implicit closure parameter.
if (num_named_params != 0) {
type.SetNumOptionalParameters(num_params - num_named_params,
ASSERT(num_params - num_named_params == num_fixed_params);
type.SetNumOptionalParameters(num_named_params,
/* are_optional_positional=*/false);
} else if (num_fixed_params != num_params) {
type.SetNumOptionalParameters(num_params - num_fixed_params,
/* are_optional_positional=*/true);
}
ASSERT(type.NumParameters() == num_params);
type.SetIsFinalized();
}
}