)]}' { "commit": "8ba4a714a512ed7680527f3d6aa293dfd7e75acf", "tree": "90d201edbcce4e8e6831a618dc19ab2775f4f492", "parents": [ "59cd692fb996f7b4f534a11ec9e270fcea07629e" ], "author": { "name": "Johnni Winther", "email": "johnniwinther@google.com", "time": "Wed Aug 17 12:21:03 2022 +0000" }, "committer": { "name": "Commit Bot", "email": "commit-bot@chromium.org", "time": "Wed Aug 17 12:21:03 2022 +0000" }, "message": "[cfe] Replace Scope.forEach with iterators\n\nScope.forEach iterates through the builder immediately mapped in the\nscope. For duplicate declarations, this means that it\u0027ll give direct access to the last defined declaration and not to the first defined\ndeclaration, which is inconsistent with how we generally handle\nduplications. It also doesn\u0027t skip builders that are not \"owned\" by\nthe scope but merely accessible, which means that we easily have\nduplicate handling of patches and augmentations which are part of\nboth the scope in which the were declared and the scope of the origin.\n\nTo normalize the handle of scope, this CL removes Scope.forEach\nwith iterators that explicit filter what subset of the builder\nthat we want to have access to. This prepares for the more complex\nscope introduced by the augmentation libraries in which all\nscopes have access to all declarations from the origin library as\nwell as other augmentation libraries.\n\nChange-Id: I88bdfb1068fbb4eb9dd6fa3881b86a61104e50e3\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/255240\nReviewed-by: Jens Johansen \u003cjensj@google.com\u003e\nCommit-Queue: Johnni Winther \u003cjohnniwinther@google.com\u003e\n", "tree_diff": [ { "type": "modify", "old_id": "4c75ebb718c7eaf9a2b316b2e0069c11f29b5286", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/builder/class_builder.dart", "new_id": "71d70e3bac3aa086f5d29b9446fad9ec7a0fe73e", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/builder/class_builder.dart" }, { "type": "modify", "old_id": "ba6a2da652975cf018166fdff1978a230690f7fc", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/builder/extension_builder.dart", "new_id": "d26e994b5cdd2b4192035e5c9083086acde78aad", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/builder/extension_builder.dart" }, { "type": "modify", "old_id": "2c6f4b3a9b19c3ed975b0534db9469b1470e23a9", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/builder/library_builder.dart", "new_id": "a2a3380abee06ee0cc023d3a9f4f4b49df230446", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/builder/library_builder.dart" }, { "type": "modify", "old_id": "165dfb30b57ec3c05ebfe736a74200645a893501", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/builder/name_iterator.dart", "new_id": "67e85f6f3cf39e480c749b692783f2d21c41bf8e", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/builder/name_iterator.dart" }, { "type": "modify", "old_id": "ec39485493e537fe82e17746f0dd8d7f33834c4f", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/dill/dill_class_builder.dart", "new_id": "57d337ae4e5630ccf80a27aff521fc1e498ef64b", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/dill/dill_class_builder.dart" }, { "type": "modify", "old_id": "b0a481675f0abc243ad5a77583efbcc29fddc4f9", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/import.dart", "new_id": "b34f25b7948c574fefb6cf09d3ace80d665419fe", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/import.dart" }, { "type": "modify", "old_id": "34059e2afe6ee82f32a76e61b965e0f7e5ae8f2b", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/incremental_compiler.dart", "new_id": "0535dcc77010170143e6d13f7a674c5fb5523cc5", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/incremental_compiler.dart" }, { "type": "modify", "old_id": "261b4445b2a4898181650ca937bdd295ae704d4e", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/kernel/body_builder.dart", "new_id": "0d30a9675c88e0331eff8c0befff2a351e317b32", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/kernel/body_builder.dart" }, { "type": "modify", "old_id": "69866046ec17d33e0a0dbcddf0d1c7c4ae2367dd", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/kernel/kernel_target.dart", "new_id": "befe20f30f442a3151cc52898a5d3c5066c3ed24", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/kernel/kernel_target.dart" }, { "type": "modify", "old_id": "1248d206d7ca752e33dc29535640b8bb4f0c4462", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/kernel/utils.dart", "new_id": "a9cbb2b9572f756c4db2ea553eb499da1b4da88e", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/kernel/utils.dart" }, { "type": "modify", "old_id": "65a2fa57e7d83ee31b4d73b0d24ab7a8e579b84a", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/scope.dart", "new_id": "f7b1b475c2fd7dcc9c120c2b282a9622d2f2aafd", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/scope.dart" }, { "type": "modify", "old_id": "593d7b23b94d423df7ef7f7799dfbc4e2acc5253", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/source/source_class_builder.dart", "new_id": "b4694d60397dd1fae2bbac70582ea96cb8c27974", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/source/source_class_builder.dart" }, { "type": "modify", "old_id": "731b63ef1b9b2d8def3ead2230d8d7dd0f8c5c4a", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/source/source_constructor_builder.dart", "new_id": "bec8ff91a2e503e5df92baf41bd31fd3c474be1c", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/source/source_constructor_builder.dart" }, { "type": "modify", "old_id": "874a96766d5ea49b348928a0b541675f352be6a0", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/source/source_extension_builder.dart", "new_id": "9ed08c951d5bef4461d163f71a3562f846135e94", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/source/source_extension_builder.dart" }, { "type": "modify", "old_id": "599f4676fc620e10ae46f01daef438f3c199cf6a", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/source/source_library_builder.dart", "new_id": "25cc5e7332f32a273e14aec5391a50bb5fe674c6", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/source/source_library_builder.dart" }, { "type": "modify", "old_id": "3de16c3e2da250a7281a538d98137a077a4ecf1b", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/source/source_loader.dart", "new_id": "ff9e1ae6e61a7b5c24cb811b455f0f2ea7cdd3fd", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/source/source_loader.dart" }, { "type": "modify", "old_id": "af7e75616a7e07fc8db23a770196c43dbc45eb7c", "old_mode": 33188, "old_path": "pkg/front_end/lib/src/fasta/source/source_member_builder.dart", "new_id": "725eae1e7f45d82458dd3f436408a92a2f110498", "new_mode": 33188, "new_path": "pkg/front_end/lib/src/fasta/source/source_member_builder.dart" }, { "type": "modify", "old_id": "77b616e8db3c47b999682ff6daacac4cda5c940d", "old_mode": 33188, "old_path": "pkg/front_end/test/macros/application/data/tests/declarations.dart", "new_id": "1229ca957ae9f44a2efc98ed96ddb01b96d28fe6", "new_mode": 33188, "new_path": "pkg/front_end/test/macros/application/data/tests/declarations.dart" }, { "type": "modify", "old_id": "5c344e0a72e9381018cfa18da25a7c0c52425781", "old_mode": 33188, "old_path": "pkg/front_end/test/macros/application/data/tests/declarations.dart.expect", "new_id": "7f55d9f9af4055aa6d18f5c56833da9d37e88b5d", "new_mode": 33188, "new_path": "pkg/front_end/test/macros/application/data/tests/declarations.dart.expect" }, { "type": "modify", "old_id": "e49039c4c1668600c4f9c02db3254e68a3c1b2fc", "old_mode": 33188, "old_path": "pkg/front_end/test/patching/patching_test.dart", "new_id": "c020b195f372e6c309e0d13860c8eaa453c44e39", "new_mode": 33188, "new_path": "pkg/front_end/test/patching/patching_test.dart" }, { "type": "modify", "old_id": "8c0102f1944ca87d4ddd4f95e42db1b1e2ac7026", "old_mode": 33188, "old_path": "pkg/front_end/test/spell_checking_list_code.txt", "new_id": "4ca76329544ae37df825875f6a8fa59c8b0d3576", "new_mode": 33188, "new_path": "pkg/front_end/test/spell_checking_list_code.txt" }, { "type": "modify", "old_id": "b451599fb228b0f63e5d5998013cf121d53327cf", "old_mode": 33188, "old_path": "pkg/front_end/testcases/general/constructor_patch/main.dart.weak.expect", "new_id": "8c1f6e637433d69b5bd532b806cd6a8b00316654", "new_mode": 33188, "new_path": "pkg/front_end/testcases/general/constructor_patch/main.dart.weak.expect" }, { "type": "modify", "old_id": "b451599fb228b0f63e5d5998013cf121d53327cf", "old_mode": 33188, "old_path": "pkg/front_end/testcases/general/constructor_patch/main.dart.weak.modular.expect", "new_id": "8c1f6e637433d69b5bd532b806cd6a8b00316654", "new_mode": 33188, "new_path": "pkg/front_end/testcases/general/constructor_patch/main.dart.weak.modular.expect" }, { "type": "modify", "old_id": "ef6d09e35aea64ff99278fb28cc21ea648c81689", "old_mode": 33188, "old_path": "pkg/front_end/testcases/general/constructor_patch/main.dart.weak.outline.expect", "new_id": "e8e0e7552e100e11f0fbb9eba889997458f74d40", "new_mode": 33188, "new_path": "pkg/front_end/testcases/general/constructor_patch/main.dart.weak.outline.expect" }, { "type": "modify", "old_id": "b451599fb228b0f63e5d5998013cf121d53327cf", "old_mode": 33188, "old_path": "pkg/front_end/testcases/general/constructor_patch/main.dart.weak.transformed.expect", "new_id": "8c1f6e637433d69b5bd532b806cd6a8b00316654", "new_mode": 33188, "new_path": "pkg/front_end/testcases/general/constructor_patch/main.dart.weak.transformed.expect" }, { "type": "modify", "old_id": "2906fbfc787d5ecd719ad815c308ab4265bdd270", "old_mode": 33188, "old_path": "pkg/front_end/testcases/general/constructor_patch/origin_lib.dart", "new_id": "927aabf2e27bb45658bb886231306a051a61f4c1", "new_mode": 33188, "new_path": "pkg/front_end/testcases/general/constructor_patch/origin_lib.dart" }, { "type": "modify", "old_id": "0c4899c6aa8e1bdc602afbffb87306f7c3632ee9", "old_mode": 33188, "old_path": "pkg/front_end/testcases/general/constructor_patch/patch_lib.dart", "new_id": "2d8f750cb3fbb375fd52e12dcfc94ac19e5d0d16", "new_mode": 33188, "new_path": "pkg/front_end/testcases/general/constructor_patch/patch_lib.dart" }, { "type": "modify", "old_id": "17c2eb15d1b6c2b3137403a2fa7c397ce4372688", "old_mode": 33188, "old_path": "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.weak.expect", "new_id": "1a322d0cc9a375ba7d7c236d0c3fbc6de3a7da8e", "new_mode": 33188, "new_path": "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.weak.expect" }, { "type": "modify", "old_id": "17c2eb15d1b6c2b3137403a2fa7c397ce4372688", "old_mode": 33188, "old_path": "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.weak.modular.expect", "new_id": "1a322d0cc9a375ba7d7c236d0c3fbc6de3a7da8e", "new_mode": 33188, "new_path": "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.weak.modular.expect" }, { "type": "modify", "old_id": "17c2eb15d1b6c2b3137403a2fa7c397ce4372688", "old_mode": 33188, "old_path": "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.weak.transformed.expect", "new_id": "1a322d0cc9a375ba7d7c236d0c3fbc6de3a7da8e", "new_mode": 33188, "new_path": "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.weak.transformed.expect" }, { "type": "modify", "old_id": "42b4c7d3561f85fa8b3c5fbe319c417b150980da", "old_mode": 33188, "old_path": "pkg/front_end/testcases/general/issue43363.dart.weak.expect", "new_id": "a2af944363cff8a8d5cf56a84dcbfe0a31c1ac6a", "new_mode": 33188, "new_path": "pkg/front_end/testcases/general/issue43363.dart.weak.expect" }, { "type": "modify", "old_id": "42b4c7d3561f85fa8b3c5fbe319c417b150980da", "old_mode": 33188, "old_path": "pkg/front_end/testcases/general/issue43363.dart.weak.modular.expect", "new_id": "a2af944363cff8a8d5cf56a84dcbfe0a31c1ac6a", "new_mode": 33188, "new_path": "pkg/front_end/testcases/general/issue43363.dart.weak.modular.expect" }, { "type": "modify", "old_id": "42b4c7d3561f85fa8b3c5fbe319c417b150980da", "old_mode": 33188, "old_path": "pkg/front_end/testcases/general/issue43363.dart.weak.transformed.expect", "new_id": "a2af944363cff8a8d5cf56a84dcbfe0a31c1ac6a", "new_mode": 33188, "new_path": "pkg/front_end/testcases/general/issue43363.dart.weak.transformed.expect" }, { "type": "modify", "old_id": "6e42cfbff5d8d402effb350d1ee4a361b296264b", "old_mode": 33188, "old_path": "pkg/front_end/testcases/nnbd/field_vs_setter.dart.strong.expect", "new_id": "cc62f70bf11336a849d9831758142457ab77de35", "new_mode": 33188, "new_path": "pkg/front_end/testcases/nnbd/field_vs_setter.dart.strong.expect" }, { "type": "modify", "old_id": "6e42cfbff5d8d402effb350d1ee4a361b296264b", "old_mode": 33188, "old_path": "pkg/front_end/testcases/nnbd/field_vs_setter.dart.strong.transformed.expect", "new_id": "cc62f70bf11336a849d9831758142457ab77de35", "new_mode": 33188, "new_path": "pkg/front_end/testcases/nnbd/field_vs_setter.dart.strong.transformed.expect" }, { "type": "modify", "old_id": "6e42cfbff5d8d402effb350d1ee4a361b296264b", "old_mode": 33188, "old_path": "pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.expect", "new_id": "cc62f70bf11336a849d9831758142457ab77de35", "new_mode": 33188, "new_path": "pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.expect" }, { "type": "modify", "old_id": "6e42cfbff5d8d402effb350d1ee4a361b296264b", "old_mode": 33188, "old_path": "pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.modular.expect", "new_id": "cc62f70bf11336a849d9831758142457ab77de35", "new_mode": 33188, "new_path": "pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.modular.expect" }, { "type": "modify", "old_id": "6e42cfbff5d8d402effb350d1ee4a361b296264b", "old_mode": 33188, "old_path": "pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.transformed.expect", "new_id": "cc62f70bf11336a849d9831758142457ab77de35", "new_mode": 33188, "new_path": "pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.transformed.expect" }, { "type": "modify", "old_id": "7e8a8f2bd33e0cbe43312035b3eb19ec5fa4d951", "old_mode": 33188, "old_path": "pkg/front_end/testcases/nnbd/instance_duplicates.dart.strong.expect", "new_id": "1c0cc982746ce40adaee8619f0bcfbc1edc3c6af", "new_mode": 33188, "new_path": "pkg/front_end/testcases/nnbd/instance_duplicates.dart.strong.expect" }, { "type": "modify", "old_id": "46e1b34ad6239f0f44c3a54dcfe4567511394710", "old_mode": 33188, "old_path": "pkg/front_end/testcases/nnbd/instance_duplicates.dart.strong.transformed.expect", "new_id": "3256d38cb56d921f7d506b3548a3e763dc4ae90f", "new_mode": 33188, "new_path": "pkg/front_end/testcases/nnbd/instance_duplicates.dart.strong.transformed.expect" }, { "type": "modify", "old_id": "7e8a8f2bd33e0cbe43312035b3eb19ec5fa4d951", "old_mode": 33188, "old_path": "pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.expect", "new_id": "1c0cc982746ce40adaee8619f0bcfbc1edc3c6af", "new_mode": 33188, "new_path": "pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.expect" }, { "type": "modify", "old_id": "7e8a8f2bd33e0cbe43312035b3eb19ec5fa4d951", "old_mode": 33188, "old_path": "pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.modular.expect", "new_id": "1c0cc982746ce40adaee8619f0bcfbc1edc3c6af", "new_mode": 33188, "new_path": "pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.modular.expect" }, { "type": "modify", "old_id": "46e1b34ad6239f0f44c3a54dcfe4567511394710", "old_mode": 33188, "old_path": "pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.transformed.expect", "new_id": "3256d38cb56d921f7d506b3548a3e763dc4ae90f", "new_mode": 33188, "new_path": "pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.transformed.expect" } ] }