/// <summary>
 /// Reports assignment of payload to a machine field.
 /// </summary>
 /// <param name="log">Log</param>
 internal static void ReportPayloadFieldAssignment(Log log)
 {
     if (log.State == null)
     {
         AnalysisErrorReporter.ReportDataRaceSource(log,
                                                    "Method '{0}' of machine '{1}' assigns the latest received " +
                                                    "payload to a machine field.",
                                                    log.Method, log.Machine);
     }
     else
     {
         AnalysisErrorReporter.ReportDataRaceSource(log,
                                                    "Method '{0}' in state '{1}' of machine '{2}' assigns " +
                                                    "the latest received payload to a machine field.",
                                                    log.Method, log.State, log.Machine);
     }
 }
 /// <summary>
 /// Reports a given up field ownership error.
 /// </summary>
 /// <param name="log">Log</param>
 internal static void ReportGivenUpFieldOwnershipError(Log log)
 {
     if (log.State == null)
     {
         AnalysisErrorReporter.ReportDataRaceSource(log,
                                                    "Method '{0}' of machine '{1}' sends payload '{2}', which " +
                                                    "contains data from a machine field.",
                                                    log.Method, log.Machine, log.Payload);
     }
     else
     {
         AnalysisErrorReporter.ReportDataRaceSource(log,
                                                    "Method '{0}' in state '{1}' of machine '{2}' sends payload " +
                                                    "'{3}', which contains data from a machine field.",
                                                    log.Method, log.State, log.Machine, log.Payload);
     }
 }