)]}'
{
  "commit": "09a156bb2d5656775b5697b3b0acac4489f2a1fa",
  "tree": "be16fa25a72275e4e675c88cb605bcc1bc338fb3",
  "parents": [
    "3d339f39559399efde80dd7a671857a25637496c"
  ],
  "author": {
    "name": "Chloe Stefantsova",
    "email": "cstefantsova@google.com",
    "time": "Tue May 12 00:08:47 2026 -0700"
  },
  "committer": {
    "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue May 12 00:08:47 2026 -0700"
  },
  "message": "[cfe] Make VariableBase.context independent from VariableBase.parent\n\nPreviously the getter VariableBase.context was redirecting to\nVariableBase.parent, effectively requiring a change of the ownership\nover the variable. This CL makes VariableBase.context a field of\nVariableBase, allowing for the previously existing ownership structure\nof the AST tree nodes.\n\nThe change allows to avoid workarounds for the existing\nownership-restoring logic, such as the assignments to the `parent`\npointer made in the constructors of the AST nodes and their\n`transformChildren` and `transformOrRemoveChildren` methods.\n\nPart of https://github.com/dart-lang/sdk/issues/61572\n\nChange-Id: I307c9d2b23c8201f8d7d2a100acf9fb8f3af2572\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/494441\nCommit-Queue: Chloe Stefantsova \u003ccstefantsova@google.com\u003e\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1e1870bf10e295a24f960483ce2b0d8156ba1f07",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/builder/formal_parameter_builder.dart",
      "new_id": "31c90ab5cc585536fcbc60b99a8418e60a8edfb0",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/builder/formal_parameter_builder.dart"
    },
    {
      "type": "modify",
      "old_id": "5a3091a10711c973279d284069c0576327a5cf50",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/kernel/body_builder.dart",
      "new_id": "fd90d7dc92dc7e8032d9bc214f63528cd773d813",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/kernel/body_builder.dart"
    },
    {
      "type": "modify",
      "old_id": "9ef4f9ac1c5cccd4a4a65a43a461c0cf09631dc6",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/kernel/internal_ast.dart",
      "new_id": "e723a22b460d0afd16ea019915399500147a545a",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/kernel/internal_ast.dart"
    },
    {
      "type": "modify",
      "old_id": "726901a489277727d65de24292149574d22eff9a",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/type_inference/inference_visitor.dart",
      "new_id": "6216b6ecb9062dd308af16eec1a920025eddb56f",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/type_inference/inference_visitor.dart"
    },
    {
      "type": "modify",
      "old_id": "9943fa699f532ccfdfa1e7decb5494ce1e7fa25a",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/src/ast/statements.dart",
      "new_id": "8c62e39040ac6e5282900074fc534f880ad54de7",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/src/ast/statements.dart"
    },
    {
      "type": "modify",
      "old_id": "d1fa7becf399f99aaaac305a3138032c679633bb",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/src/ast/types.dart",
      "new_id": "d956e201cfdd8d10d7be2d428f0a691508464fa5",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/src/ast/types.dart"
    },
    {
      "type": "modify",
      "old_id": "d843c80970736c0046a45ab44dc3099b938d2cb8",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/src/ast/variables.dart",
      "new_id": "5db125f5f8ecac9289e81b3bb0334f33cf2e4877",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/src/ast/variables.dart"
    },
    {
      "type": "modify",
      "old_id": "a4366593c44f9722432fcf23118238e972af0064",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/src/equivalence.dart",
      "new_id": "5a5d9045775a9928fd4e24d2f8576b41e82eb9fc",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/src/equivalence.dart"
    },
    {
      "type": "modify",
      "old_id": "428fff2e81dab54371f7bbb1b249b44537c14d22",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/verifier.dart",
      "new_id": "307c3f36f37bb290ec8119bc311a26cf007a92de",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/verifier.dart"
    }
  ]
}
