)]}'
{
  "commit": "fdf9cfd3207307625e38d9d09176cd3b7a21fd2b",
  "tree": "8259eaadba64e0e9ec0e6fb81dac225e7d2c47f1",
  "parents": [
    "678c05b28976c7adeb791b9678465049686026ba"
  ],
  "author": {
    "name": "Darius Rueckert",
    "email": "darius.rueckert@fau.de",
    "time": "Fri Dec 20 15:55:54 2019 +0100"
  },
  "committer": {
    "name": "Darius Rueckert",
    "email": "darius.rueckert@fau.de",
    "time": "Tue Jan 07 09:35:09 2020 +0100"
  },
  "message": "Add functions to find the matching ELSE, ENDIF expressions\n\nExpressionId FindMatchingEndif(ExpressionId id)\n   - Finds the closing ENDIF expression for a given IF expression.\n\nExpressionId FindMatchingElse(ExpressionId id)\n   - Finds the ELSE expression for a given IF expression.\n   - Returns -1, if this IF doesn\u0027t have an else\n\nThis patch is a preparation to the code analyzing required\nfor various optimization passes.\n\nChange-Id: I893102a757c6a0bcacbcc1190c2b8ef08314eb97\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "331a2d9d70331fd54783f0cc0f499063ada9c4ab",
      "old_mode": 33188,
      "old_path": "include/ceres/codegen/internal/expression_graph.h",
      "new_id": "992c23ae97b6f01985395d7581c3a93dd58b7279",
      "new_mode": 33188,
      "new_path": "include/ceres/codegen/internal/expression_graph.h"
    },
    {
      "type": "modify",
      "old_id": "b08a9b3a196da8a6e8bfbefa5fed93f535f36431",
      "old_mode": 33188,
      "old_path": "internal/ceres/codegen/expression_graph_test.cc",
      "new_id": "420b05a92c91aba825cdb6261711b85fe37b2ad5",
      "new_mode": 33188,
      "new_path": "internal/ceres/codegen/expression_graph_test.cc"
    },
    {
      "type": "modify",
      "old_id": "7bae8d22dac84582d83bfe9f6219ae14ee278d39",
      "old_mode": 33188,
      "old_path": "internal/ceres/expression_graph.cc",
      "new_id": "e619e53cee951682070e42767c481c10053206bf",
      "new_mode": 33188,
      "new_path": "internal/ceres/expression_graph.cc"
    }
  ]
}
