def _GetSuspectedCLFoundByHeuristicForCompile(analysis):
  """For compile failure, gets the suspected revision found by heuristic."""
  if not analysis or not analysis.result:
    return None

  for failure in analysis.result.get('failures', []):
    if (failure['step_name'].lower() == 'compile' and
        len(failure['suspected_cls']) == 1):
      # Based on confidence calculation, suspected_cl found by heuristic for
      # compile is very likely to be the culprit.
      # Since the current confidence calculation is for results with single
      # suspected_cl, we might need to have the same regulation here.
      return failure['suspected_cls'][0]
  return None