)]}'
{
  "commit": "922f0dda93620da073b724290276641de990668b",
  "tree": "1ab3dbc0df59b7dc46072f9973bd5e077e4ade47",
  "parents": [
    "9d5cb9524e2022474f6917f967b8f2734b7a5870"
  ],
  "author": {
    "name": "Nate Biggs",
    "email": "natebiggs@google.com",
    "time": "Wed Feb 07 00:19:33 2024 +0000"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Feb 07 00:19:33 2024 +0000"
  },
  "message": "[dart2js] Delete more static type caching logic and replace with CFE equivalents.\n\nBy passing a cache to the `StaticTypeContext` we get an equivalent cache to what the `CachedStaticType` class was providing. We can create one of these for any non-synthetic member. We would never query a static type for a synthetic member.\n\nThis pattern has the added benefit of making the caches ephemeral. They are no longer stored on the closed world so they will get GCed with the member-specific builders. There\u0027s no reason to keep them around longer.\n\nChange-Id: Id5b817e1674dd41e868d5bfaebefa48762a87ec8\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/348462\nReviewed-by: Mayank Patke \u003cfishythefish@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e196cfd274a32198bccd39671880fa34183d0f94",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/inferrer/builder.dart",
      "new_id": "8055050f560b74dbe13d0bc7695dc2f0e6f92100",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/inferrer/builder.dart"
    },
    {
      "type": "modify",
      "old_id": "389103169c0f70718973bcd80d74d55525daba76",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/inferrer/engine.dart",
      "new_id": "603438674f05e251b590e64280716c2a442a9522",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/inferrer/engine.dart"
    },
    {
      "type": "modify",
      "old_id": "304d7175ff3d68a885a7aa555daaf7aac3e105a5",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/inferrer/type_graph_nodes.dart",
      "new_id": "006d7fb8db5443f1b15485901d2a45d1ea164d07",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/inferrer/type_graph_nodes.dart"
    },
    {
      "type": "delete",
      "old_id": "dd673aa95085de358e1f078d63f90066a7df757f",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/ir/cached_static_type.dart",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "a4665662d3a261bf329c235d40997dc0978b307c",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/ir/static_type_provider.dart",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "01778caec9ece0e032a4a7ea33381770123e4e93",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/js_model/element_map.dart",
      "new_id": "0bdfec30e64d614eb5b371e543031728a7090d77",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/js_model/element_map.dart"
    },
    {
      "type": "modify",
      "old_id": "7df8b43349564ce6d68e272977357487fafd3554",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/js_model/element_map_impl.dart",
      "new_id": "6c62e8aee900c585279d23c893260dd49f644468",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/js_model/element_map_impl.dart"
    },
    {
      "type": "modify",
      "old_id": "5310334fdd3b65feb787bb5f9a76ef778a19e7af",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/ssa/builder.dart",
      "new_id": "065041545b2fd2bed0c725312fd440a75acd82ce",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/ssa/builder.dart"
    }
  ]
}
