)]}'
{
  "commit": "345dfd34ac7613cea4ba9f736eb10529982de66d",
  "tree": "9a65aa8c9e115e9e618f4a098af206c808d4dd48",
  "parents": [
    "fbfea6e02228916d5ab6f81f7fd34584b03e5d6d"
  ],
  "author": {
    "name": "Johnni Winther",
    "email": "johnniwinther@google.com",
    "time": "Mon Feb 28 15:07:18 2022 +0000"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Mon Feb 28 15:07:18 2022 +0000"
  },
  "message": "[cfe] Support class member augmentation directly\n\nThis adds direct support for class member augmentation, including checks\nthat the \u0027augment\u0027 modifier is used correctly. Different from the patch\nmember support, non-augment members added in augment classes are now\npart of the interface of the class and can therefore be used outside\nthe augmentation library.\n\nThe CL includes support for using the \u0027import augment\u0027 syntax to import\nlibraries as augmentation libraries. The enable direct testing of the\naugmentation features in expectation tests.\n\nChange-Id: I9961e15862dba827050bec4aceb7dfc45e053d7d\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/234520\nReviewed-by: Chloe Stefantsova \u003ccstefantsova@google.com\u003e\nCommit-Queue: Johnni Winther \u003cjohnniwinther@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "72487895a9c7f4b8152f1b4b2a0469496ef5e3c0",
      "old_mode": 33188,
      "old_path": "pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart",
      "new_id": "779de84b6a49e26074fe79b8790753b7d641e459",
      "new_mode": 33188,
      "new_path": "pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart"
    },
    {
      "type": "modify",
      "old_id": "f93f47eda0a213f78946b00413f3ee1ae058fe9c",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/fasta/kernel/hierarchy/members_node.dart",
      "new_id": "e4a28398142d2d40dd83fd4f8ee56d7f40b95dad",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/fasta/kernel/hierarchy/members_node.dart"
    },
    {
      "type": "modify",
      "old_id": "ef9097399e736f7b8579124cca4297ba1634071f",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/fasta/scope.dart",
      "new_id": "ab0037c5054646eefc5312b105007424de32aebb",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/fasta/scope.dart"
    },
    {
      "type": "modify",
      "old_id": "102db7f3c3a551a37eaed44a173dcac180921dfc",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/fasta/source/source_class_builder.dart",
      "new_id": "f24406dd5393dc8631e5a53c62df4265da102b07",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/fasta/source/source_class_builder.dart"
    },
    {
      "type": "modify",
      "old_id": "bb1a2546f1e81d60d6b5d7447e206d378148f77c",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/fasta/source/source_library_builder.dart",
      "new_id": "ce1548cc5d12485429d8c2301f1082ce01e1e895",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/fasta/source/source_library_builder.dart"
    },
    {
      "type": "modify",
      "old_id": "68f2d847c2e6095f1de6249e241832fdf3114037",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/fasta/source/source_loader.dart",
      "new_id": "257a4b824659a85d7968b53385cc788c8b3f1e94",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/fasta/source/source_loader.dart"
    },
    {
      "type": "modify",
      "old_id": "fcdfb76baac1b72dc1d89431d4cbe20cc93b3e7d",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/fasta/source/source_member_builder.dart",
      "new_id": "f4cf938c1db06787dd3bbcd1e13b7b0438c0cf0b",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/fasta/source/source_member_builder.dart"
    },
    {
      "type": "modify",
      "old_id": "b2e67dc1e733b04c180cab4c32963ce0e15484fb",
      "old_mode": 33188,
      "old_path": "pkg/front_end/messages.status",
      "new_id": "5ff0e553d3e3c62a0fea0d03bb28b5060cb8e2d1",
      "new_mode": 33188,
      "new_path": "pkg/front_end/messages.status"
    },
    {
      "type": "modify",
      "old_id": "b3403f3e942847c5b24e92e368ea19c18fe28ca3",
      "old_mode": 33188,
      "old_path": "pkg/front_end/messages.yaml",
      "new_id": "8e6f4151b86c23f2a31fb1c67898420bf5f14d2a",
      "new_mode": 33188,
      "new_path": "pkg/front_end/messages.yaml"
    },
    {
      "type": "modify",
      "old_id": "a444cf03953564741f7a8a0f66519c9ce9839d6d",
      "old_mode": 33188,
      "old_path": "pkg/front_end/test/macro_application/data/pkgs/macro/lib/macro2.dart",
      "new_id": "6173f58be421dccf24e5777ce0b694328adcb5ff",
      "new_mode": 33188,
      "new_path": "pkg/front_end/test/macro_application/data/pkgs/macro/lib/macro2.dart"
    },
    {
      "type": "modify",
      "old_id": "3a56029204f5800a15c87129a4e946399ac17b41",
      "old_mode": 33188,
      "old_path": "pkg/front_end/test/macro_application/data/tests/to_string.dart.expect",
      "new_id": "68d6ea1c939173322f99fc874ff3c6b7130e8ad6",
      "new_mode": 33188,
      "new_path": "pkg/front_end/test/macro_application/data/tests/to_string.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "e6964cdc50e6e1a29933356485ea901f6e4d6732",
      "old_mode": 33188,
      "old_path": "pkg/front_end/test/spell_checking_list_messages.txt",
      "new_id": "664608e47db8a5ed714fa955991a64990a39611a",
      "new_mode": 33188,
      "new_path": "pkg/front_end/test/spell_checking_list_messages.txt"
    },
    {
      "type": "modify",
      "old_id": "7313d7132602fbe9af56fbbdb9ad4bf045bf5673",
      "old_mode": 33188,
      "old_path": "pkg/front_end/test/spell_checking_list_tests.txt",
      "new_id": "0a0575a7090aaf6dfd0cbe3d8c45a18d059cf00f",
      "new_mode": 33188,
      "new_path": "pkg/front_end/test/spell_checking_list_tests.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "12aa81825ee48419da168759511a8b9848d4b32b",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/macros/class_members.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "52ceebad4e5af33cf4058de13c004b14cba97b36",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/macros/class_members.dart.strong.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "52ceebad4e5af33cf4058de13c004b14cba97b36",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/macros/class_members.dart.strong.transformed.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c5c8d442f3934c68e8718a3f737f1cc22974c62c",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/macros/class_members.dart.textual_outline.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "52ceebad4e5af33cf4058de13c004b14cba97b36",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/macros/class_members.dart.weak.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "52ceebad4e5af33cf4058de13c004b14cba97b36",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/macros/class_members.dart.weak.modular.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "49e7b5107c3de96da40b352cb8276eb46d5292ef",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/macros/class_members.dart.weak.outline.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "52ceebad4e5af33cf4058de13c004b14cba97b36",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/macros/class_members.dart.weak.transformed.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a5952d546cfa31829dbe0cb411ada9998469b1cd",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/macros/class_members_lib.dart"
    },
    {
      "type": "modify",
      "old_id": "afa3f8adf00bc79f931464d4fa3696b08593ddd6",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/textual_outline.status",
      "new_id": "fbb0de5154d9c77ced0561f3e9f8d5cd498182cb",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/textual_outline.status"
    },
    {
      "type": "modify",
      "old_id": "5706ec99ad7adc03717230a712430387c3306074",
      "old_mode": 33188,
      "old_path": "pkg/front_end/tool/dart_doctest_impl.dart",
      "new_id": "544345dc48631e67d18e404ddd6b08d6496a9030",
      "new_mode": 33188,
      "new_path": "pkg/front_end/tool/dart_doctest_impl.dart"
    }
  ]
}
