)]}'
{
  "commit": "5b157d18226983a0ca11850a4b4a04c47194475b",
  "tree": "897b563bd5f45ef9042f64891b616f90fa016566",
  "parents": [
    "fb452b00bbc00d811f7057291eb9997a140411cb"
  ],
  "author": {
    "name": "adonovan",
    "email": "adonovan@google.com",
    "time": "Mon Jan 27 08:23:38 2020 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Mon Jan 27 08:24:53 2020 -0800"
  },
  "message": "bazel syntax: generalize Concatter to HasBinary, for binary operators\n\nA Starlark value that implements HasBinary may define its own\nsemantics for binary operators such as x+y. See HasBinary for details.\n\nThis brings us a step closer to moving Selector{List,Value} to lib.packages.\n\nAlso:\n- remove the Location parameter from the operator method.\n  This API simplification causes a minor usability regression:\n  SkylarkInfo instances created by x+y will no longer record the\n  location of the plus operator.\n- make the control tree for binary operator cases shallower\n  (that is, avoid unnecessary re-tests of instanceof),\n  with a single fall-through.\n- The specialized error message for \u0027in\u0027 is no longer feasible\n  as the set of valid operand types is no longer closed.\n- Simplify arithmetic division, borrowing from go.starlark.net.\n\nThis is a breaking API change for Copybara.\n\nPiperOrigin-RevId: 291726807\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "55b3bac2a463db511fd5c2631edb64d10bc63f88",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/packages/BuildType.java",
      "new_id": "59f567f8398d61bb1241d8ee6be9f47e62a9875c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/packages/BuildType.java"
    },
    {
      "type": "modify",
      "old_id": "77ca87ddf17bd93dfd8e56a70e7c5ae460895c91",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/packages/SkylarkInfo.java",
      "new_id": "c08afddc3f22317afe1093e750876c500b11577c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/packages/SkylarkInfo.java"
    },
    {
      "type": "modify",
      "old_id": "e2bc985f77ec12b059b77006f3352e270bbf127b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/syntax/BUILD",
      "new_id": "1f9ec0dd47eeb4681a7cdee65d07bf60137687e0",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/syntax/BUILD"
    },
    {
      "type": "delete",
      "old_id": "81f489f7bfc1c6b64c5d339da40a1ff2a7a24463",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/syntax/Concatable.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "7c2cbd2fcb56803b68f67b4590a3afb421519842",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/syntax/Eval.java",
      "new_id": "2a4f6c69f17625806845d5ea3e5cef983b3a93e1",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/syntax/Eval.java"
    },
    {
      "type": "modify",
      "old_id": "4e1b68049ebef11278f12e3df9ccd3748c1b7d6a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/syntax/EvalUtils.java",
      "new_id": "88cc9991338ce3317a4e4442768530bbd7690fa3",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/syntax/EvalUtils.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d5b556670cea01210127978c482c6df91a516cb4",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/syntax/HasBinary.java"
    },
    {
      "type": "modify",
      "old_id": "52d464c9c9fcd4500aed93031864a605227804d2",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/syntax/SelectorList.java",
      "new_id": "57b57a74bc8cc8057453cfbf8030a4bcf0909eef",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/syntax/SelectorList.java"
    },
    {
      "type": "modify",
      "old_id": "97c5005bf20f32887c3a3d8c5a4ce3ef87eebad3",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/syntax/SelectorValue.java",
      "new_id": "ba6359c459dbab0352b8f40873ea3d3d9971f607",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/syntax/SelectorValue.java"
    },
    {
      "type": "modify",
      "old_id": "aa8dd19e5dbab467c10850cc1e4296b99d90c6e8",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/syntax/Tuple.java",
      "new_id": "d502e7d80fd9936b2abec448b6a0b93734e2de22",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/syntax/Tuple.java"
    },
    {
      "type": "modify",
      "old_id": "b18a70108987bcdab89ee8c06a40eecc376ec952",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/packages/BuildTypeTest.java",
      "new_id": "9db91b969485674493ea9832196c612d532afd53",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/packages/BuildTypeTest.java"
    },
    {
      "type": "modify",
      "old_id": "2fa623404b7c2439d2ca590bfb69cd00d763e797",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/packages/SkylarkInfoTest.java",
      "new_id": "b5ab54fe23464aac82c79369768c294ff8d3eda7",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/packages/SkylarkInfoTest.java"
    },
    {
      "type": "modify",
      "old_id": "60a0d1d3ab399b6bc04e5797a7966de24534f7b8",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java",
      "new_id": "c930845fb3d91b9cf0863d01b124af9f564d656b",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java"
    }
  ]
}
