)]}'
{
  "commit": "02e8bbb03653dd87c12d6b53ea353b22f3168273",
  "tree": "e94338b22afd61eafd4f8546bedfb3f68d578923",
  "parents": [
    "fa62e34be4e48c40a5a6688487e399a7c1751dd6"
  ],
  "author": {
    "name": "Johnni Winther",
    "email": "johnniwinther@google.com",
    "time": "Thu Nov 17 11:32:01 2022 +0000"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Nov 17 11:32:01 2022 +0000"
  },
  "message": "[cfe,analyzer] Share experimental flags for the parser\n\nThis adds a new generated file into _fe_analyzer_shared for the\nexperimental flags. This is now used by the parser when generating\nmessages about features not being available.\n\nThe default implementation uses whether the feature is enabled by default\nor not, to emit different messages. This change will therefore ensure\nthat when a missing feature changes from \u0027experimental\u0027 to\n\u0027enabled by default\u0027, the  message reported by the parser will be\nupdated accordingly. Currently errors are only reported from the parser\non features that are enabled by default, so the message for experimental\nfeatures is not currently used.\n\nThe reporting is performed through the Listener, such that\nimplementations can override the reporting to improve the messaging.\nThis is done in the CFE where the message is improved to take into\naccount whether the language version is explicit in the parsed library.\n\nIn response to https://github.com/dart-lang/sdk/issues/46329\n\nChange-Id: Ief812817c7eb4b1e433389f6f49d6a1f77604fa7\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/269860\nCommit-Queue: Johnni Winther \u003cjohnniwinther@google.com\u003e\nReviewed-by: Jens Johansen \u003cjensj@google.com\u003e\nReviewed-by: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "359d274fa618fea3bdc7749cad2e260e0480f07b",
      "new_mode": 33188,
      "new_path": "pkg/_fe_analyzer_shared/lib/src/experiments/errors.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "417e37fa594a11dbaf5d060f8083086723f695fe",
      "new_mode": 33188,
      "new_path": "pkg/_fe_analyzer_shared/lib/src/experiments/flags.dart"
    },
    {
      "type": "modify",
      "old_id": "0014c458c096a327955e368a546132c57bf2eb8a",
      "old_mode": 33188,
      "old_path": "pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart",
      "new_id": "f0dc9723a8e9eb34e337daa29676d28e1325fee9",
      "new_mode": 33188,
      "new_path": "pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart"
    },
    {
      "type": "modify",
      "old_id": "880d256a464827eb8378d6549b10f80d8290aca7",
      "old_mode": 33188,
      "old_path": "pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart",
      "new_id": "44451452c2256cf6788cf1bdf8fdd907297fc45f",
      "new_mode": 33188,
      "new_path": "pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart"
    },
    {
      "type": "modify",
      "old_id": "f4de40efb177a819b3133b0825af9a43f65f39a0",
      "old_mode": 33188,
      "old_path": "pkg/_fe_analyzer_shared/lib/src/parser/listener.dart",
      "new_id": "d42b9c8110d3c71607846ba28432b55c1cae3afa",
      "new_mode": 33188,
      "new_path": "pkg/_fe_analyzer_shared/lib/src/parser/listener.dart"
    },
    {
      "type": "modify",
      "old_id": "fa933dc8e69a8aa6c73686aeb33244ea0f12ca48",
      "old_mode": 33188,
      "old_path": "pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart",
      "new_id": "474e9cae5b8caec5e1ac9d953e9e8a67e33a9d1b",
      "new_mode": 33188,
      "new_path": "pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart"
    },
    {
      "type": "modify",
      "old_id": "9dad523c6084eb6abbb766cf93bdd5cda4429ca5",
      "old_mode": 33188,
      "old_path": "pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml",
      "new_id": "3863a25406cf094e3ccb7cbd3b5d004e7221871d",
      "new_mode": 33188,
      "new_path": "pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml"
    },
    {
      "type": "modify",
      "old_id": "92235a7b408ebdaff7a2b4b083f82f1a66cefe8c",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/dart/error/syntactic_errors.g.dart",
      "new_id": "dfe67de567b38a4b699c0a37facc0843c5e8c8d8",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/dart/error/syntactic_errors.g.dart"
    },
    {
      "type": "modify",
      "old_id": "f7b20616ddc2a75c93c4679d85b550f512e0eba2",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/error/error_code_values.g.dart",
      "new_id": "6960398bbf80ef8fe56a34576109e9d25e9bd7e9",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/error/error_code_values.g.dart"
    },
    {
      "type": "modify",
      "old_id": "82be47c9a7f12e0e6f217cce80ab2b5e4543f658",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/test/generated/variance_parser_test.dart",
      "new_id": "b9105f4d2fcbc507d24a77bbfa1fedf91d20fd84",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/test/generated/variance_parser_test.dart"
    },
    {
      "type": "modify",
      "old_id": "ff2a4245f66a40f6b8213d7189a1b5f353772a53",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/api_prototype/experimental_flags.dart",
      "new_id": "d53bd6f2862abdfd3233813e637178d954101392",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/api_prototype/experimental_flags.dart"
    },
    {
      "type": "modify",
      "old_id": "57c1792fb48fc4b9ce80373bdc82b03a1da5cfab",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart",
      "new_id": "213904203404b8556b4d7320d4f3c352979b6d70",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart"
    },
    {
      "type": "modify",
      "old_id": "4416a45adad43e67ff6dc45b8fc3c4d684a8f95f",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/fasta/kernel/macro/annotation_parser.dart",
      "new_id": "e13633963e12ae06c3eefe559d677c2b39e54fe7",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/fasta/kernel/macro/annotation_parser.dart"
    },
    {
      "type": "modify",
      "old_id": "d5b5fa89d1a549f0601b79621b51b07ecf8f6ae7",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/fasta/source/stack_listener_impl.dart",
      "new_id": "b6a1c99db9ce9d432928ea7b030fc4b369d230ae",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/fasta/source/stack_listener_impl.dart"
    },
    {
      "type": "modify",
      "old_id": "b2e393b9be112d1dc8e14abc2f17d0f58feae9a9",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart",
      "new_id": "97dce1eb11c579fa7716962e1f863ad824f0d482",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart"
    },
    {
      "type": "modify",
      "old_id": "3c3c0c0e4fd6d5f805f45d78b9ab743d4a051702",
      "old_mode": 33188,
      "old_path": "pkg/front_end/messages.yaml",
      "new_id": "1a7a8e0021c22daed921bb44ae167e3742705eba",
      "new_mode": 33188,
      "new_path": "pkg/front_end/messages.yaml"
    },
    {
      "type": "modify",
      "old_id": "23075e0cb9c92e2c6927c64329cfe634e9c2b551",
      "old_mode": 33188,
      "old_path": "pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method.dart.expect",
      "new_id": "ab04444b95ee05aff2ee23f0ea0ad618b636d269",
      "new_mode": 33188,
      "new_path": "pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "532b3df2ec7f00197611e01a81c0cfc2f811669e",
      "old_mode": 33188,
      "old_path": "pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method.dart.intertwined.expect",
      "new_id": "17e18845dd0e5c8698dbbd27e0d1c249f242efaa",
      "new_mode": 33188,
      "new_path": "pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method.dart.intertwined.expect"
    },
    {
      "type": "modify",
      "old_id": "ba86f89124ee7a41e3f4d5a5eb42a7db5d962287",
      "old_mode": 33188,
      "old_path": "pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method.equivalence_info",
      "new_id": "ac83694f009dab38fdb11575445ded5803f65c2c",
      "new_mode": 33188,
      "new_path": "pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method.equivalence_info"
    },
    {
      "type": "modify",
      "old_id": "e021f7544ac66207fc1d510673857fbe312d462a",
      "old_mode": 33188,
      "old_path": "pkg/front_end/parser_testcases/no-triple-shift/simple_attempted_usage_of_triple_shift.dart.expect",
      "new_id": "6db9886e3801a2998367fdb9de6570f248b4301d",
      "new_mode": 33188,
      "new_path": "pkg/front_end/parser_testcases/no-triple-shift/simple_attempted_usage_of_triple_shift.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "ff0ffc9b3dfd30191ad76f1a97ec2482de19152a",
      "old_mode": 33188,
      "old_path": "pkg/front_end/parser_testcases/no-triple-shift/simple_attempted_usage_of_triple_shift.dart.intertwined.expect",
      "new_id": "5e7fdc20507cd0f1a1d8ef0a82256a3917df904d",
      "new_mode": 33188,
      "new_path": "pkg/front_end/parser_testcases/no-triple-shift/simple_attempted_usage_of_triple_shift.dart.intertwined.expect"
    },
    {
      "type": "modify",
      "old_id": "89665f6dc55a9e99c5ba7044e6594e6a8e906088",
      "old_mode": 33188,
      "old_path": "pkg/front_end/test/generated_files_up_to_date_git_test.dart",
      "new_id": "934d813677eb593544e40a048e4cea87c54f63f1",
      "new_mode": 33188,
      "new_path": "pkg/front_end/test/generated_files_up_to_date_git_test.dart"
    },
    {
      "type": "modify",
      "old_id": "c8b9842acd770e91305bcb688fbccbb1935f7b43",
      "old_mode": 33188,
      "old_path": "pkg/front_end/test/parser_suite.dart",
      "new_id": "c039409e26c0dde0e7476f422529ed409b5a13bb",
      "new_mode": 33188,
      "new_path": "pkg/front_end/test/parser_suite.dart"
    },
    {
      "type": "modify",
      "old_id": "a15ed722e064178a97a4eb51564fb6702c9d76fa",
      "old_mode": 33188,
      "old_path": "pkg/front_end/test/parser_test_listener.dart",
      "new_id": "1072337b79247c62c3e004c0008be21005b46a0a",
      "new_mode": 33188,
      "new_path": "pkg/front_end/test/parser_test_listener.dart"
    },
    {
      "type": "modify",
      "old_id": "9a70c54b3cfb444c6691329564ede96c15a1e9e1",
      "old_mode": 33188,
      "old_path": "pkg/front_end/test/parser_test_listener_creator.dart",
      "new_id": "62e7ac645d5fae6c1af3a1d3296b675846c65c35",
      "new_mode": 33188,
      "new_path": "pkg/front_end/test/parser_test_listener_creator.dart"
    },
    {
      "type": "modify",
      "old_id": "cfe58eab30c340edd9ae1a6c47c4de22319b5386",
      "old_mode": 33188,
      "old_path": "pkg/front_end/test/parser_test_parser.dart",
      "new_id": "046dfbbddeab7c814b676fac8f1970a4e32ab6d0",
      "new_mode": 33188,
      "new_path": "pkg/front_end/test/parser_test_parser.dart"
    },
    {
      "type": "modify",
      "old_id": "38daf10a53e9452641e603c029dd35c619e49d3d",
      "old_mode": 33188,
      "old_path": "pkg/front_end/test/parser_test_parser_creator.dart",
      "new_id": "71fc3b5bd6f30d091885191a50ef14c7dbb0bdcd",
      "new_mode": 33188,
      "new_path": "pkg/front_end/test/parser_test_parser_creator.dart"
    },
    {
      "type": "modify",
      "old_id": "79ee1476cf0693f868ff9cbe9c5da068d1187f73",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/issue_46886.dart.weak.expect",
      "new_id": "2eee40831bfb4738e5a3ef3eda4f9023783d4548",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/issue_46886.dart.weak.expect"
    },
    {
      "type": "modify",
      "old_id": "79ee1476cf0693f868ff9cbe9c5da068d1187f73",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/issue_46886.dart.weak.modular.expect",
      "new_id": "2eee40831bfb4738e5a3ef3eda4f9023783d4548",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/issue_46886.dart.weak.modular.expect"
    },
    {
      "type": "modify",
      "old_id": "0f34aaf9f2aff1217d7898d1a4e0c5c41ffb9b0b",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/issue_46886.dart.weak.outline.expect",
      "new_id": "bd9c14cd8f9b991467212e15b916f49aef9ead53",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/issue_46886.dart.weak.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "a18c3858d95a29c14f85534a2216b1ef30a42cd0",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/issue_46886.dart.weak.transformed.expect",
      "new_id": "4facc33f411b63af351a301d5cac459a6c231189",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/issue_46886.dart.weak.transformed.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ebd345fcc54d88baf4086aec27926e89a43a83bd",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/opt_out_by_package/.dart_tool/package_config.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f286a19450179a6f1821daabfe9b0cd3b22d166a",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/opt_out_by_package/main.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fa1146c385a2fa71c26bfb8a9b1bcef913dccb36",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/opt_out_by_package/main.dart.textual_outline.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fa1146c385a2fa71c26bfb8a9b1bcef913dccb36",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/opt_out_by_package/main.dart.textual_outline_modelled.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "161a8c1f56330bc0401536252a194d8cf40a446d",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/opt_out_by_package/main.dart.weak.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "161a8c1f56330bc0401536252a194d8cf40a446d",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/opt_out_by_package/main.dart.weak.modular.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "db3d32d6b0049c963c13bce638b274910c14f2cc",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/opt_out_by_package/main.dart.weak.outline.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4ad4d38df1731251db7db6a3129787e78de58718",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/opt_out_by_package/main.dart.weak.transformed.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "91faa68f1e6b24ceca4e3c823389eb0f55971317",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/opt_out_by_package/opt_out/lib/opt_out_lib.dart"
    },
    {
      "type": "modify",
      "old_id": "7b29209b148aeebaf65c93c915ea4992462743e7",
      "old_mode": 33188,
      "old_path": "pkg/front_end/tool/_fasta/generate_experimental_flags.dart",
      "new_id": "21eeeae0f76321c2c3f5103d42d491e84ff2b7bc",
      "new_mode": 33188,
      "new_path": "pkg/front_end/tool/_fasta/generate_experimental_flags.dart"
    },
    {
      "type": "modify",
      "old_id": "9cb19444ccb2f24406e910b6dd81b813eb2e15de",
      "old_mode": 33188,
      "old_path": "pkg/front_end/tool/_fasta/parser_ast_helper_creator.dart",
      "new_id": "4192a30c94c84138ee1a35828bd8c8725294579d",
      "new_mode": 33188,
      "new_path": "pkg/front_end/tool/_fasta/parser_ast_helper_creator.dart"
    },
    {
      "type": "modify",
      "old_id": "2811208a794b669d4d7f723ec8187c804e8a106f",
      "old_mode": 33188,
      "old_path": "tests/language/variance/syntax/variance_disabled_syntax_test.dart",
      "new_id": "789bc6dae9e316bf67c359fe72e76bbc652174ca",
      "new_mode": 33188,
      "new_path": "tests/language/variance/syntax/variance_disabled_syntax_test.dart"
    }
  ]
}
