From e6d59342ffce06ac02af14313610143cb82a9e88 Mon Sep 17 00:00:00 2001 From: Johnni Winther Date: Tue, 13 Dec 2022 17:03:13 +0000 Subject: [PATCH] [cfe] Build PatternVariableDeclaration in BodyBuilder Change-Id: Ic55dbc03bf2cf4865275b186266c0f420263d406 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/273744 Commit-Queue: Johnni Winther Reviewed-by: Jens Johansen --- .../lib/src/fasta/kernel/body_builder.dart | 21 ++++++++++ .../lib/src/fasta/kernel/internal_ast.dart | 27 +++++-------- .../type_inference/inference_visitor.dart | 6 +++ ...internal_ast_text_representation_test.dart | 17 +++++++++ ...bleDeclarationStatement_disallowsLate.dart | 7 ++++ ...Statement_disallowsLate.dart.strong.expect | 38 +++++++++++++++++++ ...sallowsLate.dart.strong.transformed.expect | 38 +++++++++++++++++++ ..._disallowsLate.dart.textual_outline.expect | 1 + ...sLate.dart.textual_outline_modelled.expect | 1 + ...onStatement_disallowsLate.dart.weak.expect | 38 +++++++++++++++++++ ...ent_disallowsLate.dart.weak.modular.expect | 38 +++++++++++++++++++ ...ent_disallowsLate.dart.weak.outline.expect | 5 +++ ...disallowsLate.dart.weak.transformed.expect | 38 +++++++++++++++++++ ...nStatement_noMetadata_final_extractor.dart | 7 ++++ ...etadata_final_extractor.dart.strong.expect | 6 +++ ...l_extractor.dart.strong.transformed.expect | 6 +++ ...inal_extractor.dart.textual_outline.expect | 1 + ...actor.dart.textual_outline_modelled.expect | 1 + ...oMetadata_final_extractor.dart.weak.expect | 6 +++ ...a_final_extractor.dart.weak.modular.expect | 6 +++ ...a_final_extractor.dart.weak.outline.expect | 5 +++ ...nal_extractor.dart.weak.transformed.expect | 6 +++ ...ionStatement_noMetadata_var_extractor.dart | 7 ++++ ...oMetadata_var_extractor.dart.strong.expect | 6 +++ ...r_extractor.dart.strong.transformed.expect | 6 +++ ..._var_extractor.dart.textual_outline.expect | 1 + ...actor.dart.textual_outline_modelled.expect | 1 + ..._noMetadata_var_extractor.dart.weak.expect | 6 +++ ...ata_var_extractor.dart.weak.modular.expect | 6 +++ ...ata_var_extractor.dart.weak.outline.expect | 5 +++ ...var_extractor.dart.weak.transformed.expect | 6 +++ ...larationStatement_noMetadata_var_list.dart | 7 ++++ ...ent_noMetadata_var_list.dart.strong.expect | 6 +++ ...ta_var_list.dart.strong.transformed.expect | 6 +++ ...adata_var_list.dart.textual_outline.expect | 1 + ..._list.dart.textual_outline_modelled.expect | 1 + ...ement_noMetadata_var_list.dart.weak.expect | 6 +++ ...Metadata_var_list.dart.weak.modular.expect | 6 +++ ...Metadata_var_list.dart.weak.outline.expect | 5 +++ ...data_var_list.dart.weak.transformed.expect | 6 +++ ...clarationStatement_noMetadata_var_map.dart | 7 ++++ ...ment_noMetadata_var_map.dart.strong.expect | 6 +++ ...ata_var_map.dart.strong.transformed.expect | 6 +++ ...tadata_var_map.dart.textual_outline.expect | 1 + ...r_map.dart.textual_outline_modelled.expect | 1 + ...tement_noMetadata_var_map.dart.weak.expect | 6 +++ ...oMetadata_var_map.dart.weak.modular.expect | 6 +++ ...oMetadata_var_map.dart.weak.outline.expect | 5 +++ ...adata_var_map.dart.weak.transformed.expect | 6 +++ ...tatement_noMetadata_var_parenthesized.dart | 7 ++++ ...adata_var_parenthesized.dart.strong.expect | 6 +++ ...renthesized.dart.strong.transformed.expect | 6 +++ ..._parenthesized.dart.textual_outline.expect | 1 + ...sized.dart.textual_outline_modelled.expect | 1 + ...etadata_var_parenthesized.dart.weak.expect | 6 +++ ...var_parenthesized.dart.weak.modular.expect | 6 +++ ...var_parenthesized.dart.weak.outline.expect | 5 +++ ...parenthesized.dart.weak.transformed.expect | 6 +++ ...rationStatement_noMetadata_var_record.dart | 7 ++++ ...t_noMetadata_var_record.dart.strong.expect | 6 +++ ..._var_record.dart.strong.transformed.expect | 6 +++ ...ata_var_record.dart.textual_outline.expect | 1 + ...ecord.dart.textual_outline_modelled.expect | 1 + ...ent_noMetadata_var_record.dart.weak.expect | 6 +++ ...tadata_var_record.dart.weak.modular.expect | 6 +++ ...tadata_var_record.dart.weak.outline.expect | 5 +++ ...ta_var_record.dart.weak.transformed.expect | 6 +++ ...tatement_withMetadata_final_extractor.dart | 10 +++++ ...etadata_final_extractor.dart.strong.expect | 12 ++++++ ...l_extractor.dart.strong.transformed.expect | 12 ++++++ ...inal_extractor.dart.textual_outline.expect | 2 + ...actor.dart.textual_outline_modelled.expect | 2 + ...hMetadata_final_extractor.dart.weak.expect | 12 ++++++ ...a_final_extractor.dart.weak.modular.expect | 12 ++++++ ...a_final_extractor.dart.weak.outline.expect | 7 ++++ ...nal_extractor.dart.weak.transformed.expect | 12 ++++++ ...tionStatement_withMetadata_final_list.dart | 10 +++++ ...withMetadata_final_list.dart.strong.expect | 12 ++++++ ..._final_list.dart.strong.transformed.expect | 12 ++++++ ...ata_final_list.dart.textual_outline.expect | 2 + ..._list.dart.textual_outline_modelled.expect | 2 + ...t_withMetadata_final_list.dart.weak.expect | 12 ++++++ ...tadata_final_list.dart.weak.modular.expect | 12 ++++++ ...tadata_final_list.dart.weak.outline.expect | 7 ++++ ...ta_final_list.dart.weak.transformed.expect | 12 ++++++ ...ationStatement_withMetadata_final_map.dart | 10 +++++ ..._withMetadata_final_map.dart.strong.expect | 12 ++++++ ...a_final_map.dart.strong.transformed.expect | 12 ++++++ ...data_final_map.dart.textual_outline.expect | 2 + ...l_map.dart.textual_outline_modelled.expect | 2 + ...nt_withMetadata_final_map.dart.weak.expect | 12 ++++++ ...etadata_final_map.dart.weak.modular.expect | 12 ++++++ ...etadata_final_map.dart.weak.outline.expect | 7 ++++ ...ata_final_map.dart.weak.transformed.expect | 12 ++++++ ...ment_withMetadata_final_parenthesized.dart | 10 +++++ ...ata_final_parenthesized.dart.strong.expect | 12 ++++++ ...renthesized.dart.strong.transformed.expect | 12 ++++++ ..._parenthesized.dart.textual_outline.expect | 2 + ...sized.dart.textual_outline_modelled.expect | 2 + ...adata_final_parenthesized.dart.weak.expect | 12 ++++++ ...nal_parenthesized.dart.weak.modular.expect | 12 ++++++ ...nal_parenthesized.dart.weak.outline.expect | 7 ++++ ...parenthesized.dart.weak.transformed.expect | 12 ++++++ ...onStatement_withMetadata_final_record.dart | 10 +++++ ...thMetadata_final_record.dart.strong.expect | 12 ++++++ ...inal_record.dart.strong.transformed.expect | 12 ++++++ ...a_final_record.dart.textual_outline.expect | 2 + ...ecord.dart.textual_outline_modelled.expect | 2 + ...withMetadata_final_record.dart.weak.expect | 12 ++++++ ...data_final_record.dart.weak.modular.expect | 12 ++++++ ...data_final_record.dart.weak.outline.expect | 7 ++++ ..._final_record.dart.weak.transformed.expect | 12 ++++++ ...nStatement_withMetadata_var_extractor.dart | 10 +++++ ...hMetadata_var_extractor.dart.strong.expect | 12 ++++++ ...r_extractor.dart.strong.transformed.expect | 12 ++++++ ..._var_extractor.dart.textual_outline.expect | 2 + ...actor.dart.textual_outline_modelled.expect | 2 + ...ithMetadata_var_extractor.dart.weak.expect | 12 ++++++ ...ata_var_extractor.dart.weak.modular.expect | 12 ++++++ ...ata_var_extractor.dart.weak.outline.expect | 7 ++++ ...var_extractor.dart.weak.transformed.expect | 12 ++++++ ...rationStatement_withMetadata_var_list.dart | 10 +++++ ...t_withMetadata_var_list.dart.strong.expect | 12 ++++++ ...ta_var_list.dart.strong.transformed.expect | 12 ++++++ ...adata_var_list.dart.textual_outline.expect | 2 + ..._list.dart.textual_outline_modelled.expect | 2 + ...ent_withMetadata_var_list.dart.weak.expect | 12 ++++++ ...Metadata_var_list.dart.weak.modular.expect | 12 ++++++ ...Metadata_var_list.dart.weak.outline.expect | 7 ++++ ...data_var_list.dart.weak.transformed.expect | 12 ++++++ ...arationStatement_withMetadata_var_map.dart | 10 +++++ ...nt_withMetadata_var_map.dart.strong.expect | 12 ++++++ ...ata_var_map.dart.strong.transformed.expect | 12 ++++++ ...tadata_var_map.dart.textual_outline.expect | 2 + ...r_map.dart.textual_outline_modelled.expect | 2 + ...ment_withMetadata_var_map.dart.weak.expect | 12 ++++++ ...hMetadata_var_map.dart.weak.modular.expect | 12 ++++++ ...hMetadata_var_map.dart.weak.outline.expect | 7 ++++ ...adata_var_map.dart.weak.transformed.expect | 12 ++++++ ...tement_withMetadata_var_parenthesized.dart | 10 +++++ ...adata_var_parenthesized.dart.strong.expect | 12 ++++++ ...renthesized.dart.strong.transformed.expect | 12 ++++++ ..._parenthesized.dart.textual_outline.expect | 2 + ...sized.dart.textual_outline_modelled.expect | 2 + ...etadata_var_parenthesized.dart.weak.expect | 12 ++++++ ...var_parenthesized.dart.weak.modular.expect | 12 ++++++ ...var_parenthesized.dart.weak.outline.expect | 7 ++++ ...parenthesized.dart.weak.transformed.expect | 12 ++++++ ...tionStatement_withMetadata_var_record.dart | 10 +++++ ...withMetadata_var_record.dart.strong.expect | 12 ++++++ ..._var_record.dart.strong.transformed.expect | 12 ++++++ ...ata_var_record.dart.textual_outline.expect | 2 + ...ecord.dart.textual_outline_modelled.expect | 2 + ...t_withMetadata_var_record.dart.weak.expect | 12 ++++++ ...tadata_var_record.dart.weak.modular.expect | 12 ++++++ ...tadata_var_record.dart.weak.outline.expect | 7 ++++ ...ta_var_record.dart.weak.transformed.expect | 12 ++++++ 157 files changed, 1331 insertions(+), 18 deletions(-) create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.strong.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.textual_outline_modelled.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.modular.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.outline.expect create mode 100644 pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.transformed.expect diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart index a6abd0383e3..c12c94888f2 100644 --- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart +++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart @@ -8490,6 +8490,27 @@ class BodyBuilder extends StackListenerImpl push(pattern); } } + + @override + void handlePatternVariableDeclarationStatement( + Token keyword, Token equals, Token semicolon) { + debugEvent('PatternVariableDeclarationStatement'); + assert(checkState(keyword, [ + unionOfKinds([ + ValueKinds.Expression, + ValueKinds.Generator, + ValueKinds.ProblemBuilder, + ]), + ValueKinds.Pattern, + ValueKinds.AnnotationListOrNull, + ])); + Expression initializer = popForValue(); + Pattern pattern = toPattern(pop()); + // TODO(johnniwinther,cstefantsova): Handle metadata. + pop(NullValue.Metadata) as List?; + push(new PatternVariableDeclaration(pattern, initializer, + offset: keyword.charOffset, isFinal: keyword.lexeme == 'final')); + } } abstract class EnsureLoaded { diff --git a/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart b/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart index bd073f2e325..02c4ea46e0a 100644 --- a/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart +++ b/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart @@ -4742,38 +4742,29 @@ class WildcardPattern extends Pattern { class PatternVariableDeclaration extends InternalStatement { final Pattern pattern; final Expression initializer; + final bool isFinal; PatternVariableDeclaration(this.pattern, this.initializer, - {required int offset}) { + {required int offset, required this.isFinal}) { fileOffset = offset; } @override StatementInferenceResult acceptInference(InferenceVisitorImpl visitor) { - throw new UnimplementedError("PatternVariableDeclaration.acceptInference"); - } - - @override - R accept(StatementVisitor visitor) { - if (visitor is Printer || visitor is Precedence || visitor is Transformer) { - // Allow visitors needed for toString and replaceWith. - return visitor.defaultStatement(this); - } - return unsupported( - "${runtimeType}.accept on ${visitor.runtimeType}", -1, null); - } - - @override - R accept1(StatementVisitor1 visitor, A arg) { - return unsupported( - "${runtimeType}.accept1 on ${visitor.runtimeType}", -1, null); + return visitor.visitPatternVariableDeclaration(this); } @override void toTextInternal(AstPrinter printer) { + if (isFinal) { + printer.write('final '); + } else { + printer.write('var '); + } pattern.toTextInternal(printer); printer.write(" = "); printer.writeExpression(initializer); + printer.write(';'); } @override diff --git a/pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart b/pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart index 3f70d9a7041..dc2f1c46036 100644 --- a/pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart +++ b/pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart @@ -8103,6 +8103,12 @@ class InferenceVisitorImpl extends InferenceVisitorBase return const StatementInferenceResult(); } + StatementInferenceResult visitPatternVariableDeclaration( + PatternVariableDeclaration node) { + return new StatementInferenceResult.single( + new ExpressionStatement(new InvalidExpression('$node'))); + } + @override ExpressionInferenceResult visitVariableGet( covariant VariableGetImpl node, DartType typeContext) { diff --git a/pkg/front_end/test/text_representation/internal_ast_text_representation_test.dart b/pkg/front_end/test/text_representation/internal_ast_text_representation_test.dart index 271fbbdb88f..f2d82758299 100644 --- a/pkg/front_end/test/text_representation/internal_ast_text_representation_test.dart +++ b/pkg/front_end/test/text_representation/internal_ast_text_representation_test.dart @@ -129,6 +129,7 @@ void main() { _testIfCaseStatement(); _testPatternSwitchStatement(); _testSwitchExpression(); + _testPatternVariableDeclaration(); }); } @@ -1312,3 +1313,19 @@ if (0 case 1 when 2) return;'''); ''' if (0 case 1 when 2) return 3; else return 4;'''); } + +void _testPatternVariableDeclaration() { + testStatement( + new PatternVariableDeclaration( + new ExpressionPattern(new IntLiteral(0)), new IntLiteral(1), + isFinal: false, offset: TreeNode.noOffset), + ''' +var 0 = 1;'''); + + testStatement( + new PatternVariableDeclaration( + new ExpressionPattern(new IntLiteral(0)), new IntLiteral(1), + isFinal: true, offset: TreeNode.noOffset), + ''' +final 0 = 1;'''); +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart new file mode 100644 index 00000000000..58a662d5d15 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart @@ -0,0 +1,7 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +f(x) { + late var (_) = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.strong.expect new file mode 100644 index 00000000000..cbacc5d45e8 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.strong.expect @@ -0,0 +1,38 @@ +library /*isNonNullableByDefault*/; +// +// Problems in library: +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:12: Error: Expected an identifier, but got '('. +// Try inserting an identifier before '('. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:12: Error: Expected ';' after this. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:13: Error: Expected ';' after this. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:13: Error: Undefined name '_'. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:14: Error: Expected an identifier, but got ')'. +// Try inserting an identifier before ')'. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:14: Error: Unexpected token ';'. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:16: Error: Expected an identifier, but got '='. +// Try inserting an identifier before '='. +// late var (_) = x; +// ^ +// +import self as self; + +static method f(dynamic x) → dynamic {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.strong.transformed.expect new file mode 100644 index 00000000000..cbacc5d45e8 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.strong.transformed.expect @@ -0,0 +1,38 @@ +library /*isNonNullableByDefault*/; +// +// Problems in library: +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:12: Error: Expected an identifier, but got '('. +// Try inserting an identifier before '('. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:12: Error: Expected ';' after this. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:13: Error: Expected ';' after this. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:13: Error: Undefined name '_'. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:14: Error: Expected an identifier, but got ')'. +// Try inserting an identifier before ')'. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:14: Error: Unexpected token ';'. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:16: Error: Expected an identifier, but got '='. +// Try inserting an identifier before '='. +// late var (_) = x; +// ^ +// +import self as self; + +static method f(dynamic x) → dynamic {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.textual_outline.expect new file mode 100644 index 00000000000..59a4f5c21f7 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.textual_outline.expect @@ -0,0 +1 @@ +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..59a4f5c21f7 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.textual_outline_modelled.expect @@ -0,0 +1 @@ +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.expect new file mode 100644 index 00000000000..cbacc5d45e8 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.expect @@ -0,0 +1,38 @@ +library /*isNonNullableByDefault*/; +// +// Problems in library: +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:12: Error: Expected an identifier, but got '('. +// Try inserting an identifier before '('. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:12: Error: Expected ';' after this. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:13: Error: Expected ';' after this. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:13: Error: Undefined name '_'. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:14: Error: Expected an identifier, but got ')'. +// Try inserting an identifier before ')'. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:14: Error: Unexpected token ';'. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:16: Error: Expected an identifier, but got '='. +// Try inserting an identifier before '='. +// late var (_) = x; +// ^ +// +import self as self; + +static method f(dynamic x) → dynamic {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.modular.expect new file mode 100644 index 00000000000..cbacc5d45e8 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.modular.expect @@ -0,0 +1,38 @@ +library /*isNonNullableByDefault*/; +// +// Problems in library: +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:12: Error: Expected an identifier, but got '('. +// Try inserting an identifier before '('. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:12: Error: Expected ';' after this. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:13: Error: Expected ';' after this. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:13: Error: Undefined name '_'. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:14: Error: Expected an identifier, but got ')'. +// Try inserting an identifier before ')'. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:14: Error: Unexpected token ';'. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:16: Error: Expected an identifier, but got '='. +// Try inserting an identifier before '='. +// late var (_) = x; +// ^ +// +import self as self; + +static method f(dynamic x) → dynamic {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.outline.expect new file mode 100644 index 00000000000..59fba8d55cd --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.outline.expect @@ -0,0 +1,5 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.transformed.expect new file mode 100644 index 00000000000..cbacc5d45e8 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart.weak.transformed.expect @@ -0,0 +1,38 @@ +library /*isNonNullableByDefault*/; +// +// Problems in library: +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:12: Error: Expected an identifier, but got '('. +// Try inserting an identifier before '('. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:12: Error: Expected ';' after this. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:13: Error: Expected ';' after this. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:13: Error: Undefined name '_'. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:14: Error: Expected an identifier, but got ')'. +// Try inserting an identifier before ')'. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:14: Error: Unexpected token ';'. +// late var (_) = x; +// ^ +// +// pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_disallowsLate.dart:6:16: Error: Expected an identifier, but got '='. +// Try inserting an identifier before '='. +// late var (_) = x; +// ^ +// +import self as self; + +static method f(dynamic x) → dynamic {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart new file mode 100644 index 00000000000..31cab975381 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart @@ -0,0 +1,7 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +f(x) { + final C(f: a) = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.strong.expect new file mode 100644 index 00000000000..d1bc772941a --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.strong.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.strong.transformed.expect new file mode 100644 index 00000000000..d1bc772941a --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.strong.transformed.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.textual_outline.expect new file mode 100644 index 00000000000..59a4f5c21f7 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.textual_outline.expect @@ -0,0 +1 @@ +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..59a4f5c21f7 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.textual_outline_modelled.expect @@ -0,0 +1 @@ +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.expect new file mode 100644 index 00000000000..d1bc772941a --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.modular.expect new file mode 100644 index 00000000000..d1bc772941a --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.modular.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.outline.expect new file mode 100644 index 00000000000..59fba8d55cd --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.outline.expect @@ -0,0 +1,5 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.transformed.expect new file mode 100644 index 00000000000..d1bc772941a --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.weak.transformed.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart new file mode 100644 index 00000000000..af1e40dc5be --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart @@ -0,0 +1,7 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +f(x) { + var C(f: a) = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.strong.expect new file mode 100644 index 00000000000..fe0023f967d --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.strong.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.strong.transformed.expect new file mode 100644 index 00000000000..fe0023f967d --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.strong.transformed.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.textual_outline.expect new file mode 100644 index 00000000000..59a4f5c21f7 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.textual_outline.expect @@ -0,0 +1 @@ +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..59a4f5c21f7 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.textual_outline_modelled.expect @@ -0,0 +1 @@ +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.expect new file mode 100644 index 00000000000..fe0023f967d --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.modular.expect new file mode 100644 index 00000000000..fe0023f967d --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.modular.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.outline.expect new file mode 100644 index 00000000000..59fba8d55cd --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.outline.expect @@ -0,0 +1,5 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.transformed.expect new file mode 100644 index 00000000000..fe0023f967d --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.weak.transformed.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart new file mode 100644 index 00000000000..4c29db4ce30 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart @@ -0,0 +1,7 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +f(x) { + var [a] = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.strong.expect new file mode 100644 index 00000000000..e56aa089831 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.strong.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var <>[var a] = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.strong.transformed.expect new file mode 100644 index 00000000000..e56aa089831 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.strong.transformed.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var <>[var a] = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.textual_outline.expect new file mode 100644 index 00000000000..59a4f5c21f7 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.textual_outline.expect @@ -0,0 +1 @@ +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..59a4f5c21f7 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.textual_outline_modelled.expect @@ -0,0 +1 @@ +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.expect new file mode 100644 index 00000000000..e56aa089831 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var <>[var a] = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.modular.expect new file mode 100644 index 00000000000..e56aa089831 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.modular.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var <>[var a] = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.outline.expect new file mode 100644 index 00000000000..59fba8d55cd --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.outline.expect @@ -0,0 +1,5 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.transformed.expect new file mode 100644 index 00000000000..e56aa089831 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.weak.transformed.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var <>[var a] = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart new file mode 100644 index 00000000000..60c25d22f6f --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart @@ -0,0 +1,7 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +f(x) { + var {'a': a} = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.strong.expect new file mode 100644 index 00000000000..b53a6064e1a --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.strong.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var {\"a\": var a} = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.strong.transformed.expect new file mode 100644 index 00000000000..b53a6064e1a --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.strong.transformed.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var {\"a\": var a} = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.textual_outline.expect new file mode 100644 index 00000000000..59a4f5c21f7 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.textual_outline.expect @@ -0,0 +1 @@ +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..59a4f5c21f7 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.textual_outline_modelled.expect @@ -0,0 +1 @@ +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.expect new file mode 100644 index 00000000000..b53a6064e1a --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var {\"a\": var a} = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.modular.expect new file mode 100644 index 00000000000..b53a6064e1a --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.modular.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var {\"a\": var a} = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.outline.expect new file mode 100644 index 00000000000..59fba8d55cd --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.outline.expect @@ -0,0 +1,5 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.transformed.expect new file mode 100644 index 00000000000..b53a6064e1a --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.weak.transformed.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var {\"a\": var a} = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart new file mode 100644 index 00000000000..c595d50684f --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart @@ -0,0 +1,7 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +f(x) { + var (a) = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.strong.expect new file mode 100644 index 00000000000..fdc9f4e7034 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.strong.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var var a = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.strong.transformed.expect new file mode 100644 index 00000000000..fdc9f4e7034 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.strong.transformed.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var var a = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.textual_outline.expect new file mode 100644 index 00000000000..59a4f5c21f7 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.textual_outline.expect @@ -0,0 +1 @@ +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..59a4f5c21f7 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.textual_outline_modelled.expect @@ -0,0 +1 @@ +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.expect new file mode 100644 index 00000000000..fdc9f4e7034 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var var a = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.modular.expect new file mode 100644 index 00000000000..fdc9f4e7034 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.modular.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var var a = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.outline.expect new file mode 100644 index 00000000000..59fba8d55cd --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.outline.expect @@ -0,0 +1,5 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.transformed.expect new file mode 100644 index 00000000000..fdc9f4e7034 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.weak.transformed.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var var a = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart new file mode 100644 index 00000000000..2d49ba7e04b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart @@ -0,0 +1,7 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +f(x) { + var (a,) = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.strong.expect new file mode 100644 index 00000000000..d9d7bf28bba --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.strong.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var (var a) = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.strong.transformed.expect new file mode 100644 index 00000000000..d9d7bf28bba --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.strong.transformed.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var (var a) = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.textual_outline.expect new file mode 100644 index 00000000000..59a4f5c21f7 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.textual_outline.expect @@ -0,0 +1 @@ +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..59a4f5c21f7 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.textual_outline_modelled.expect @@ -0,0 +1 @@ +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.expect new file mode 100644 index 00000000000..d9d7bf28bba --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var (var a) = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.modular.expect new file mode 100644 index 00000000000..d9d7bf28bba --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.modular.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var (var a) = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.outline.expect new file mode 100644 index 00000000000..59fba8d55cd --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.outline.expect @@ -0,0 +1,5 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.transformed.expect new file mode 100644 index 00000000000..d9d7bf28bba --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.weak.transformed.expect @@ -0,0 +1,6 @@ +library /*isNonNullableByDefault*/; +import self as self; + +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var (var a) = x;)"; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart new file mode 100644 index 00000000000..1cce756bdca --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart @@ -0,0 +1,10 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +const annotation = 0; + +f(x) { + @annotation + final C(f: a) = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.strong.expect new file mode 100644 index 00000000000..9a9f50f09dc --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.strong.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.strong.transformed.expect new file mode 100644 index 00000000000..9a9f50f09dc --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.strong.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.textual_outline.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.textual_outline.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.textual_outline_modelled.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.expect new file mode 100644 index 00000000000..9a9f50f09dc --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.modular.expect new file mode 100644 index 00000000000..9a9f50f09dc --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.modular.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.outline.expect new file mode 100644 index 00000000000..75211ea883b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.outline.expect @@ -0,0 +1,7 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = 0; +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.transformed.expect new file mode 100644 index 00000000000..9a9f50f09dc --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.weak.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart new file mode 100644 index 00000000000..54463381762 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart @@ -0,0 +1,10 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +const annotation = 0; + +f(x) { + @annotation + final [a] = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.strong.expect new file mode 100644 index 00000000000..6dac1c170a0 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.strong.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final <>[var a] = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.strong.transformed.expect new file mode 100644 index 00000000000..6dac1c170a0 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.strong.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final <>[var a] = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.textual_outline.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.textual_outline.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.textual_outline_modelled.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.expect new file mode 100644 index 00000000000..6dac1c170a0 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final <>[var a] = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.modular.expect new file mode 100644 index 00000000000..6dac1c170a0 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.modular.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final <>[var a] = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.outline.expect new file mode 100644 index 00000000000..75211ea883b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.outline.expect @@ -0,0 +1,7 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = 0; +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.transformed.expect new file mode 100644 index 00000000000..6dac1c170a0 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.weak.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final <>[var a] = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart new file mode 100644 index 00000000000..73b646bfbe9 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart @@ -0,0 +1,10 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +const annotation = 0; + +f(x) { + @annotation + final {'a': a} = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.strong.expect new file mode 100644 index 00000000000..12d238ee3bb --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.strong.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final {\"a\": var a} = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.strong.transformed.expect new file mode 100644 index 00000000000..12d238ee3bb --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.strong.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final {\"a\": var a} = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.textual_outline.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.textual_outline.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.textual_outline_modelled.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.expect new file mode 100644 index 00000000000..12d238ee3bb --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final {\"a\": var a} = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.modular.expect new file mode 100644 index 00000000000..12d238ee3bb --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.modular.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final {\"a\": var a} = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.outline.expect new file mode 100644 index 00000000000..75211ea883b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.outline.expect @@ -0,0 +1,7 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = 0; +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.transformed.expect new file mode 100644 index 00000000000..12d238ee3bb --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.weak.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final {\"a\": var a} = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart new file mode 100644 index 00000000000..b591bf72dd7 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart @@ -0,0 +1,10 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +const annotation = 0; + +f(x) { + @annotation + final (a) = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.strong.expect new file mode 100644 index 00000000000..4ae1347c3f3 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.strong.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final var a = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.strong.transformed.expect new file mode 100644 index 00000000000..4ae1347c3f3 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.strong.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final var a = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.textual_outline.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.textual_outline.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.textual_outline_modelled.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.expect new file mode 100644 index 00000000000..4ae1347c3f3 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final var a = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.modular.expect new file mode 100644 index 00000000000..4ae1347c3f3 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.modular.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final var a = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.outline.expect new file mode 100644 index 00000000000..75211ea883b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.outline.expect @@ -0,0 +1,7 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = 0; +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.transformed.expect new file mode 100644 index 00000000000..4ae1347c3f3 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.weak.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final var a = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart new file mode 100644 index 00000000000..f3fa8377d0e --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart @@ -0,0 +1,10 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +const annotation = 0; + +f(x) { + @annotation + final (a,) = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.strong.expect new file mode 100644 index 00000000000..60b0d582f36 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.strong.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final (var a) = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.strong.transformed.expect new file mode 100644 index 00000000000..60b0d582f36 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.strong.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final (var a) = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.textual_outline.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.textual_outline.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.textual_outline_modelled.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.expect new file mode 100644 index 00000000000..60b0d582f36 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final (var a) = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.modular.expect new file mode 100644 index 00000000000..60b0d582f36 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.modular.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final (var a) = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.outline.expect new file mode 100644 index 00000000000..75211ea883b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.outline.expect @@ -0,0 +1,7 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = 0; +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.transformed.expect new file mode 100644 index 00000000000..60b0d582f36 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.weak.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(final (var a) = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart new file mode 100644 index 00000000000..de90a91a570 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart @@ -0,0 +1,10 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +const annotation = 0; + +f(x) { + @annotation + var C(f: a) = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.strong.expect new file mode 100644 index 00000000000..6848a0fd117 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.strong.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.strong.transformed.expect new file mode 100644 index 00000000000..6848a0fd117 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.strong.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.textual_outline.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.textual_outline.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.textual_outline_modelled.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.expect new file mode 100644 index 00000000000..6848a0fd117 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.modular.expect new file mode 100644 index 00000000000..6848a0fd117 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.modular.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.outline.expect new file mode 100644 index 00000000000..75211ea883b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.outline.expect @@ -0,0 +1,7 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = 0; +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.transformed.expect new file mode 100644 index 00000000000..6848a0fd117 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.weak.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart new file mode 100644 index 00000000000..a432b1588fb --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart @@ -0,0 +1,10 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +const annotation = 0; + +f(x) { + @annotation + var [a] = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.strong.expect new file mode 100644 index 00000000000..5eeda00ed08 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.strong.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var <>[var a] = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.strong.transformed.expect new file mode 100644 index 00000000000..5eeda00ed08 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.strong.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var <>[var a] = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.textual_outline.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.textual_outline.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.textual_outline_modelled.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.expect new file mode 100644 index 00000000000..5eeda00ed08 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var <>[var a] = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.modular.expect new file mode 100644 index 00000000000..5eeda00ed08 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.modular.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var <>[var a] = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.outline.expect new file mode 100644 index 00000000000..75211ea883b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.outline.expect @@ -0,0 +1,7 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = 0; +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.transformed.expect new file mode 100644 index 00000000000..5eeda00ed08 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.weak.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var <>[var a] = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart new file mode 100644 index 00000000000..484b1153e57 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart @@ -0,0 +1,10 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +const annotation = 0; + +f(x) { + @annotation + var {'a': a} = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.strong.expect new file mode 100644 index 00000000000..4d6a694839d --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.strong.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var {\"a\": var a} = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.strong.transformed.expect new file mode 100644 index 00000000000..4d6a694839d --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.strong.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var {\"a\": var a} = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.textual_outline.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.textual_outline.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.textual_outline_modelled.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.expect new file mode 100644 index 00000000000..4d6a694839d --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var {\"a\": var a} = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.modular.expect new file mode 100644 index 00000000000..4d6a694839d --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.modular.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var {\"a\": var a} = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.outline.expect new file mode 100644 index 00000000000..75211ea883b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.outline.expect @@ -0,0 +1,7 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = 0; +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.transformed.expect new file mode 100644 index 00000000000..4d6a694839d --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.weak.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var {\"a\": var a} = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart new file mode 100644 index 00000000000..a096fe03f36 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart @@ -0,0 +1,10 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +const annotation = 0; + +f(x) { + @annotation + var (a) = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.strong.expect new file mode 100644 index 00000000000..10553539e3b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.strong.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var var a = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.strong.transformed.expect new file mode 100644 index 00000000000..10553539e3b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.strong.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var var a = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.textual_outline.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.textual_outline.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.textual_outline_modelled.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.expect new file mode 100644 index 00000000000..10553539e3b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var var a = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.modular.expect new file mode 100644 index 00000000000..10553539e3b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.modular.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var var a = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.outline.expect new file mode 100644 index 00000000000..75211ea883b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.outline.expect @@ -0,0 +1,7 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = 0; +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.transformed.expect new file mode 100644 index 00000000000..10553539e3b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.weak.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var var a = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart new file mode 100644 index 00000000000..700027f187a --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart @@ -0,0 +1,10 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +const annotation = 0; + +f(x) { + @annotation + var (a,) = x; +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.strong.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.strong.expect new file mode 100644 index 00000000000..05e28198b96 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.strong.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var (var a) = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.strong.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.strong.transformed.expect new file mode 100644 index 00000000000..05e28198b96 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.strong.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var (var a) = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.textual_outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.textual_outline.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.textual_outline.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.textual_outline_modelled.expect new file mode 100644 index 00000000000..386c8f43ab4 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.textual_outline_modelled.expect @@ -0,0 +1,2 @@ +const annotation = 0; +f(x) {} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.expect new file mode 100644 index 00000000000..05e28198b96 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var (var a) = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.modular.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.modular.expect new file mode 100644 index 00000000000..05e28198b96 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.modular.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var (var a) = x;)"; +} + +constants { + #C1 = 0 +} diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.outline.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.outline.expect new file mode 100644 index 00000000000..75211ea883b --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.outline.expect @@ -0,0 +1,7 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = 0; +static method f(dynamic x) → dynamic + ; diff --git a/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.transformed.expect b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.transformed.expect new file mode 100644 index 00000000000..05e28198b96 --- /dev/null +++ b/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.weak.transformed.expect @@ -0,0 +1,12 @@ +library /*isNonNullableByDefault*/; +import self as self; +import "dart:core" as core; + +static const field core::int annotation = #C1; +static method f(dynamic x) → dynamic { + invalid-expression "PatternVariableDeclaration(var (var a) = x;)"; +} + +constants { + #C1 = 0 +}