)]}'
{
  "commit": "291258448c30c6faf23516d6960162e1af36b40b",
  "tree": "7f75e7ac6964c5bce6f7883871ef854c72a51ddc",
  "parents": [
    "934c4fd4a4a96093a2cd0b08cf619bef04d0b582"
  ],
  "author": {
    "name": "adonovan",
    "email": "adonovan@google.com",
    "time": "Thu Dec 12 13:33:20 2019 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Dec 12 13:34:22 2019 -0800"
  },
  "message": "bazel: stop implementing BaseFunction.call\n\nMost subclasses of BaseFunction have a signature of f(**kwargs), for\nwhich BaseFunction\u0027s \"inner\" protocol is overkill. This change causes\nthem to implement StarlarkCallable.callImpl directly.\n\nFor now, they still override BaseFunction, because it defines other\nmethods (e.g. repr), and because some places in the code check for\n\"instanceof BaseFunction\" when they should really be more general\n(StarlarkCallable) or more specific (StarlarkFunction).\n\nPiperOrigin-RevId: 285259322\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "98d24d0fc00ea9a1b77f7b1777c19a11dfae1f9c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java",
      "new_id": "5efa23d7f1cd1ac481685c68ddb33c3b87a37eb6",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java"
    },
    {
      "type": "modify",
      "old_id": "8649a5c7caca9addb9feab656a73a4cd238d95a0",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryModule.java",
      "new_id": "11240e534062987c9677affff04e3de86e8d1f09",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryModule.java"
    },
    {
      "type": "modify",
      "old_id": "c35479772bda6ea9f9d7be8560ee1e424f3b6739",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java",
      "new_id": "9fd9a630889659391c9d1856cd3dc7b92fef692e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java"
    },
    {
      "type": "modify",
      "old_id": "f4d7ac8587b61ff95568454e5fb7c7ff760d05a2",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeProviderApi.java",
      "new_id": "488ffbe0ca20f96a862b582dd9d27a247817b475",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeProviderApi.java"
    },
    {
      "type": "modify",
      "old_id": "6a072e03b44426f5b2e7311ca0fdbe156aa176d9",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkAspect.java",
      "new_id": "eca98d56855ecdfe75688f1d554f2d55079a6e90",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkAspect.java"
    },
    {
      "type": "modify",
      "old_id": "773fab58c21f4f060ce1d6ce84a3b60f627f2c16",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/skydoc/fakebuildapi/repository/FakeRepositoryModule.java",
      "new_id": "75ea775b0587055e4c2566ef1b01c9064d668732",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/skydoc/fakebuildapi/repository/FakeRepositoryModule.java"
    }
  ]
}
