/// <summary>
 /// Reports sending data with a given up ownership.
 /// </summary>
 /// <param name="log">Log</param>
 internal static void ReportGivenUpOwnershipSending(Log log)
 {
     if (log.State == null)
     {
         AnalysisErrorReporter.ReportOwnershipError(log,
                                                    "Method '{0}' of machine '{1}' sends an event that contains " +
                                                    "payload with already given up ownership.",
                                                    log.Method, log.Machine);
     }
     else
     {
         AnalysisErrorReporter.ReportOwnershipError(log,
                                                    "Method '{0}' in state '{1}' of machine '{2}' sends an event that " +
                                                    "contains payload with already given up ownership.",
                                                    log.Method, log.State, log.Machine);
     }
 }
 /// <summary>
 /// Reports a potendial data race.
 /// </summary>
 /// <param name="log">Log</param>
 internal static void ReportPotentialDataRace(Log log)
 {
     if (log.State == null)
     {
         AnalysisErrorReporter.ReportOwnershipError(log,
                                                    "Method '{0}' of machine '{1}' accesses '{2}' after " +
                                                    "giving up its ownership.",
                                                    log.Method, log.Machine, log.Payload);
     }
     else
     {
         AnalysisErrorReporter.ReportOwnershipError(log,
                                                    "Method '{0}' in state '{1}' of machine '{2}' accesses " +
                                                    "'{3}' after giving up its ownership.",
                                                    log.Method, log.State, log.Machine, log.Payload);
     }
 }
 /// <summary>
 /// Reports assignment of given up ownership to a machine field.
 /// </summary>
 /// <param name="log">Log</param>
 internal static void ReportGivenUpOwnershipFieldAssignment(Log log)
 {
     if (log.State == null)
     {
         AnalysisErrorReporter.ReportOwnershipError(log,
                                                    "Method '{0}' of machine '{1}' assigns '{2}' to " +
                                                    "a machine field after giving up its ownership.",
                                                    log.Method, log.Machine, log.Payload);
     }
     else
     {
         AnalysisErrorReporter.ReportOwnershipError(log,
                                                    "Method '{0}' in state '{1}' of machine '{2}' assigns " +
                                                    "'{3}' to a machine field after giving up its ownership.",
                                                    log.Method, log.State, log.Machine, log.Payload);
     }
 }