)]}'
{
  "commit": "9378d5ca21b9518a106ebd565e2ce7364901d52a",
  "tree": "ae4ab1443c62f31acf4928ce6945794036159d7e",
  "parents": [
    "c704e11ee233f72455d4a96de03988862c163d14"
  ],
  "author": {
    "name": "Ilya Yanok",
    "email": "yanok@google.com",
    "time": "Thu Dec 01 15:37:33 2022 +0000"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Dec 01 15:37:33 2022 +0000"
  },
  "message": "Add hints for Angular constructor arguments\n\nThe rules are:\n\n1. Arguments annotated with `@Optional` must be nullable (that part\n   worked before this change).\n2. Arguments annotated with `@Attribute` must be nullable if it\u0027s\n   a constructor of a component (`@Attribute` can also appear on\n   arguments of directives constructors, it doesn\u0027t provide any signal\n   in the latter case).\n3. Arguments of constructors of components or `@Injectable` classes,\n   that have neither `@Optional` nor `@Attribute`, must be non-nullable.\n\nTested:\n  Added new test cases to `api_test.dart`\nChange-Id: I0f06a128e0f6ec49d39cc6bf025fe1796938f1f1\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/272900\nReviewed-by: Paul Berry \u003cpaulberry@google.com\u003e\nCommit-Queue: Ilya Yanok \u003cyanok@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6734bd8004dfcbc0ca924f6b5491ac9c0b3590eb",
      "old_mode": 33188,
      "old_path": "pkg/nnbd_migration/lib/instrumentation.dart",
      "new_id": "21b88c546c38aaa514fdb8286764e68e98addde3",
      "new_mode": 33188,
      "new_path": "pkg/nnbd_migration/lib/instrumentation.dart"
    },
    {
      "type": "modify",
      "old_id": "9e94536cce8d60a3f629e6d59e40c0de0c26b4b2",
      "old_mode": 33188,
      "old_path": "pkg/nnbd_migration/lib/src/edge_origin.dart",
      "new_id": "e8e3a9547ff85407dbb1ea44b671487254cdef63",
      "new_mode": 33188,
      "new_path": "pkg/nnbd_migration/lib/src/edge_origin.dart"
    },
    {
      "type": "modify",
      "old_id": "aac165223a3792e965108250536bfe6e4a7886c0",
      "old_mode": 33188,
      "old_path": "pkg/nnbd_migration/lib/src/node_builder.dart",
      "new_id": "97bb71663692cf37fea7b91102ef4b552416f2c2",
      "new_mode": 33188,
      "new_path": "pkg/nnbd_migration/lib/src/node_builder.dart"
    },
    {
      "type": "modify",
      "old_id": "445d1942b9c9844c36bd9bb7fb87cc050f30262e",
      "old_mode": 33188,
      "old_path": "pkg/nnbd_migration/test/abstract_context.dart",
      "new_id": "d9503266cb608fb995a79f01c2c3a0ea069fece6",
      "new_mode": 33188,
      "new_path": "pkg/nnbd_migration/test/abstract_context.dart"
    },
    {
      "type": "modify",
      "old_id": "7aa818d1a82fbf06e3702d684f7673d09b65dc22",
      "old_mode": 33188,
      "old_path": "pkg/nnbd_migration/test/api_test.dart",
      "new_id": "279816267dbf30822c96d963f354b3daa78080b8",
      "new_mode": 33188,
      "new_path": "pkg/nnbd_migration/test/api_test.dart"
    }
  ]
}
