)]}'
{
  "commit": "1d55cd7c2f9d3f3f53462c921d40ca5f1abe7729",
  "tree": "615b9b262f917cb47a59597a56bd65c9ef83979d",
  "parents": [
    "a4afb06b215eb9b40cb9cb17a6c69d03e413d8a0"
  ],
  "author": {
    "name": "Paul Berry",
    "email": "paulberry@google.com",
    "time": "Mon Aug 02 14:19:10 2021 +0000"
  },
  "committer": {
    "name": "commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Mon Aug 02 14:19:10 2021 +0000"
  },
  "message": "Consolidate duplicate logic for tracking enclosing function.\n\nWe had logic for tracking this information in both\nVariableResolverVisitor and ResolverVisitor, both of which share the\ncommon base class ScopedVisitor.  It makes more sense to put this\nlogic in one place in ScopedVisitor.\n\nChange-Id: I1cb0350039587cb67b26eda5830a8cad2d922027\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/208561\nReviewed-by: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\nCommit-Queue: Paul Berry \u003cpaulberry@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c175e2410f188b05af9f70e01360dc227dbd1712",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/generated/resolver.dart",
      "new_id": "9bdf31e7cd73d9c3b7d7b8d17ac212feec211849",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/generated/resolver.dart"
    }
  ]
}
