)]}'
{
  "commit": "9ecc2b60b6260ca525cf0f5bbc16f4e18d39db6a",
  "tree": "449e607ab5f8c11c5abc2f7dc667aad3982d7ecf",
  "parents": [
    "d75b1d24530b8758d44fa85782e9f5a77890da08"
  ],
  "author": {
    "name": "arostovtsev",
    "email": "arostovtsev@google.com",
    "time": "Thu Jul 23 13:48:01 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Jul 23 13:49:16 2026 -0700"
  },
  "message": "Make auto-generated types per-StarlarkBuiltin and independent of StarlarkSemantics\n\nThe \"per-StarlarkBuiltin\" part fixes the problem that different subclasses of\na StarlarkBuiltin had distinct types; we obviously want them to share a\nStarlarkType - since the StarlarkBuiltin annotation fully defines the value\u0027s\neval-time interface for the interpreter. (Naturally, this also means renaming\nClassStarlarkType to StarlarkBuiltinAutoType.)\n\nThe \"independent of StarlarkSemantics\" part fixes the problem of incompatible\ntypes for the same class generated under different semantics, which formerly\ncould happen e.g. when using the 2-argument Starlark.addMethods(), which\nforces default semantics.\n\nWorking towards #27370\n\nPiperOrigin-RevId: 952935466\nChange-Id: Ie1a3277d53c6376d23c0bc3ce145b4ff64978500\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1e641489aa37079c6afb96524633f66585edf999",
      "old_mode": 33188,
      "old_path": "src/main/java/net/starlark/java/eval/CallUtils.java",
      "new_id": "2f812d1a87a05a1c3c6c3f3e0c447fa953a7884c",
      "new_mode": 33188,
      "new_path": "src/main/java/net/starlark/java/eval/CallUtils.java"
    },
    {
      "type": "modify",
      "old_id": "3957c899de3e0f125837041c334bb97cd211662f",
      "old_mode": 33188,
      "old_path": "src/main/java/net/starlark/java/eval/MethodDescriptor.java",
      "new_id": "d15a36adcc61bdc6068033badf1348942c65cba6",
      "new_mode": 33188,
      "new_path": "src/main/java/net/starlark/java/eval/MethodDescriptor.java"
    },
    {
      "type": "modify",
      "old_id": "74cd4c04518b39f874c891a22af5efc099061391",
      "old_mode": 33188,
      "old_path": "src/main/java/net/starlark/java/eval/Module.java",
      "new_id": "d0771ecc7932a1d883cd152514def5c783afb9fa",
      "new_mode": 33188,
      "new_path": "src/main/java/net/starlark/java/eval/Module.java"
    },
    {
      "type": "modify",
      "old_id": "25e358623709b8f09ba8b7f2f9b007fd0a62a22e",
      "old_mode": 33188,
      "old_path": "src/main/java/net/starlark/java/eval/Starlark.java",
      "new_id": "0b427e25378da515b40aeff89ec98a2077d52879",
      "new_mode": 33188,
      "new_path": "src/main/java/net/starlark/java/eval/Starlark.java"
    },
    {
      "type": "modify",
      "old_id": "1c8ae5293e3d584d8ae13112cea0e2ad8843a8e3",
      "old_mode": 33188,
      "old_path": "src/main/java/net/starlark/java/syntax/TypeContext.java",
      "new_id": "0bdc7f47f3edddc98cc929c94403e8258c70a568",
      "new_mode": 33188,
      "new_path": "src/main/java/net/starlark/java/syntax/TypeContext.java"
    },
    {
      "type": "modify",
      "old_id": "a3266a1857d1c9effa6430e63871afc860b38b7c",
      "old_mode": 33188,
      "old_path": "src/main/java/net/starlark/java/syntax/Types.java",
      "new_id": "0672528d53a2cea9dbb1cf14344c57780f74d419",
      "new_mode": 33188,
      "new_path": "src/main/java/net/starlark/java/syntax/Types.java"
    },
    {
      "type": "modify",
      "old_id": "fda4894590767166ecb2e52acc3a9f9c2170e2a7",
      "old_mode": 33188,
      "old_path": "src/test/java/net/starlark/java/eval/StaticTypeCheckTest.java",
      "new_id": "c81a96d5c96140a7160287df322c3eb09108a566",
      "new_mode": 33188,
      "new_path": "src/test/java/net/starlark/java/eval/StaticTypeCheckTest.java"
    }
  ]
}
