Remove the ConditionalController._conditional_met method. This was missed in the recent ConditionalController refactor (D98699). We don't need to check that the conditions for a conditional breakpoint have been met because DebuggerBase.get_triggered_breakpoint_ids returns the set of ids for breakpoints which have been triggered.
To get the "triggered breakpoints" from lldb we use GetStopReasonDataCount and GetStopReasonDataAtIndex. It seems that these functions count all breakpoints associated with the location which lldb has stopped at, regardless of their condition. i.e. Even if we have two breakpoints at the same source location that have mutually exclusive conditions, both will be found this way when either condition is true. To get around this, we store a map of breakpoint {id: condition} _breakpoint_conditions and evaluate the conditions of the triggered breakpoints to filter the set down to those which are unconditional or have a condition which evaluates to true.
Essentially we are just moving the condition double check from a general debugger controller into the lldb specific wrapper. This tidy up will help make upcoming patches simpler.
All the lit tests pass on linux (with lldb), and I've tested this on windows (with vs2017) manually as the lit tests for DexLimitSteps are currently unsupported on windows.
Are 'id' and 'bp.GetID()' the same thing?