)]}'
{
  "commit": "8ac221090040dc290d56f0711b092ca9dd2bbb78",
  "tree": "6f5ab1f47583b7af4f2fe7e945898e2edc8a8abc",
  "parents": [
    "733a37723e831c959c7298fa04ab3f4d9575e8fa"
  ],
  "author": {
    "name": "Googler",
    "email": "noreply@google.com",
    "time": "Tue Nov 26 19:07:38 2019 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Nov 26 19:08:44 2019 -0800"
  },
  "message": "bazel syntax: eliminate unnecessary array copying\n\nBefore, EvalUtils.toCollection would return a view (if given a Sequence)\nbut a copy if given a Dict. This makes it inefficient and also hard to reason\nabout. This change replaces it with Starlark.toIterable and Starlark.toArray:\nthe first always returns a view, the second a copy.\n\nAlso:\n- CallUtils: eliminate array copying in handling of *args and **kwargs.\n- Start removing Location parameters from everything we touch.\n  Location is automatically added to EvalExceptions by the interpreter.\n- MethodLibrary: eliminate array copies in\n  sorted, reverse, tuple, list, enumerate.\n- Also in string.join, string.partition. Simplify the latter function.\n- Improve text of an error message.\n- Declare Starlark.len, which returns the length of a string or iterable.\n\nThis change removes support for Starlark Map other than Dict, because\nthere are none today.\n\nPiperOrigin-RevId: 282682290\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fad3a772f9b86f222ba6fa2761823f5642edb3d6",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/syntax/CallUtils.java",
      "new_id": "3c96fd89d46c1b82847036f3fd1b55395173bf6a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/syntax/CallUtils.java"
    },
    {
      "type": "modify",
      "old_id": "9382bd3ad89b3433ce959ce804e9df24b58427b0",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/syntax/Eval.java",
      "new_id": "b133c39dad4d72c87e9472e9db0a2b818593b048",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/syntax/Eval.java"
    },
    {
      "type": "modify",
      "old_id": "dbea44eb7a5518983c1317b19726dc53b7b91564",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/syntax/EvalUtils.java",
      "new_id": "6a9021335eb61256477ff0ab2f3a7dddc9384c1c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/syntax/EvalUtils.java"
    },
    {
      "type": "modify",
      "old_id": "e85a250514e94ea33849b703eb498c9df82f4d6d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/syntax/MethodLibrary.java",
      "new_id": "93d5952927640fdbba82491898fe609beaa7a4c5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/syntax/MethodLibrary.java"
    },
    {
      "type": "modify",
      "old_id": "6b99cea3d856c3b6cf633159cf3bc51c29262148",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/syntax/Starlark.java",
      "new_id": "b82d653aa1244107f263668604a179dec69ae4b8",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/syntax/Starlark.java"
    },
    {
      "type": "modify",
      "old_id": "dd150c2d3010724cce11fc0336d4b860bb3ceade",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/syntax/StarlarkList.java",
      "new_id": "33301d05d369caa435a327031da214bbef326ede",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/syntax/StarlarkList.java"
    },
    {
      "type": "modify",
      "old_id": "e593cda69171989350c9039c917baf172c3c578a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/syntax/StringModule.java",
      "new_id": "29fbe9c6f725dc1c0088edd92ea33354f0a4c1e1",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/syntax/StringModule.java"
    },
    {
      "type": "modify",
      "old_id": "2ff2eee8580a74474d7cbaaacff17ba781b443ba",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java",
      "new_id": "f4bd8322eaaa77873f18f5f9b264a9d6a31a27f3",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java"
    },
    {
      "type": "modify",
      "old_id": "91e6864457d91145faf10eb12b008f8cbf97e986",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/syntax/MethodLibraryTest.java",
      "new_id": "125cda79286bac45c82e6784c903ce540576a1b0",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/syntax/MethodLibraryTest.java"
    },
    {
      "type": "modify",
      "old_id": "7e938ef0fec797c77be0fc7ad0dd915d93551e92",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java",
      "new_id": "13bb23aec3d823195e665a3db8f2813df4fc3844",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java"
    },
    {
      "type": "modify",
      "old_id": "c27d74938f3d068e97a9174585531c56ad3aad7a",
      "old_mode": 33188,
      "old_path": "src/test/starlark/testdata/list_mutation.sky",
      "new_id": "e3321e02897253acc52b4296a82e6bc1b2a115e1",
      "new_mode": 33188,
      "new_path": "src/test/starlark/testdata/list_mutation.sky"
    },
    {
      "type": "modify",
      "old_id": "bf14c687cddca3b92448231dc75e8af42b5e7670",
      "old_mode": 33188,
      "old_path": "src/test/starlark/testdata/reversed.sky",
      "new_id": "9d07c40eb88ad5d475c2d60b014381c9d70abac0",
      "new_mode": 33188,
      "new_path": "src/test/starlark/testdata/reversed.sky"
    },
    {
      "type": "modify",
      "old_id": "d7fa3ab2d6c4a97ab59aebbfd4dce3e601149a30",
      "old_mode": 33188,
      "old_path": "src/test/starlark/testdata/sorted.sky",
      "new_id": "1006e62f7e8aa44a6f3f55c543fea463e6a19e16",
      "new_mode": 33188,
      "new_path": "src/test/starlark/testdata/sorted.sky"
    },
    {
      "type": "modify",
      "old_id": "d339f38e0837cdca7a7a11dfc0fda24686466c74",
      "old_mode": 33188,
      "old_path": "src/test/starlark/testdata/string_misc.sky",
      "new_id": "edd1f0741998b399d9449814b2f0abe7f57ef4c9",
      "new_mode": 33188,
      "new_path": "src/test/starlark/testdata/string_misc.sky"
    },
    {
      "type": "modify",
      "old_id": "12f075b5e9479dfd18a15e0c16a85a69300fc082",
      "old_mode": 33188,
      "old_path": "src/test/starlark/testdata/string_partition.sky",
      "new_id": "9bf352da2014b10351f3069269d7146e1df5d523",
      "new_mode": 33188,
      "new_path": "src/test/starlark/testdata/string_partition.sky"
    }
  ]
}
