)]}'
{
  "commit": "b8a1d90d4ebbf982fe7e1c6303c4b8a8bb87fddb",
  "tree": "d958fcf07af32296894150cb37ba1776776601fa",
  "parents": [
    "62c87df826a02f4ecf20c18bc4b52144c3b50724"
  ],
  "author": {
    "name": "OCHyams",
    "email": "orlando.hyams@sony.com",
    "time": "Mon May 17 08:57:43 2021 +0100"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue May 25 13:34:27 2021 -0700"
  },
  "message": "[dexter] Remove unnecessary double check on conditional breakpoints\n\nRemove the `ConditionalController._conditional_met` method. This was missed in\nthe recent ConditionalController refactor (D98699). We don\u0027t need to check that\nthe conditions for a conditional breakpoint have been met because\n`DebuggerBase.get_triggered_breakpoint_ids` returns the set of ids for\nbreakpoints which have been triggered.\n\nTo get the \"triggered breakpoints\" from lldb we use `GetStopReasonDataCount`\nand `GetStopReasonDataAtIndex`. It seems that these functions count all\nbreakpoints associated with the location which lldb has stopped at, regardless\nof their condition. i.e. Even if we have two breakpoints at the same source\nlocation that have mutually exclusive conditions, both will be found this way\nwhen either condition is true. To get around this, we store a map of breakpoint\n{id: condition} `_breakpoint_conditions` and evaluate the conditions of the\ntriggered breakpoints to filter the set down to those which are unconditional\nor have a condition which evaluates to true.\n\nEssentially we are just moving the condition double check from a general\ndebugger controller into the lldb specific wrapper. This tidy up will help make\nupcoming patches simpler.\n\nReviewed By: chrisjackson\n\nDifferential Revision: https://reviews.llvm.org/D101431\n\nGitOrigin-RevId: a11117a7c0a23f37bdee5c611bbaac22e89c775d\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e225a48bcb66a6acfe8df1a5f058c0842d9903c6",
      "old_mode": 33188,
      "old_path": "dexter/dex/debugger/DebuggerControllers/ConditionalController.py",
      "new_id": "379f00f6885866537c916df4a6147b1897f43016",
      "new_mode": 33188,
      "new_path": "dexter/dex/debugger/DebuggerControllers/ConditionalController.py"
    },
    {
      "type": "modify",
      "old_id": "324467dd0819af7e64d78f395561f5a89c3b9a9c",
      "old_mode": 33188,
      "old_path": "dexter/dex/debugger/lldb/LLDB.py",
      "new_id": "e8e8939958743ba5aa9a76e447c46d9f5e4f9fc8",
      "new_mode": 33188,
      "new_path": "dexter/dex/debugger/lldb/LLDB.py"
    }
  ]
}
