static string CanonicalFormat(string methodName, WarningKind kind, ProofOutcome outcome, string message, int primaryILOffset, int methodILOffset, BaseLiningOptions baselineStrategy) { switch (baselineStrategy) { case BaseLiningOptions.ilBased: return(String.Format("{0}:{1} PrimaryIL={2} MethodIL={3}", methodName, message, primaryILOffset, methodILOffset)); case BaseLiningOptions.typeBased: return(String.Format("{0}:{1}", methodName, kind.ToString())); case BaseLiningOptions.mixed: default: switch (kind) { case WarningKind.Invariant: case WarningKind.Assert: case WarningKind.Requires: case WarningKind.Ensures: return(String.Format("{0} PrimaryIL={1}", message, primaryILOffset)); default: return(message); } } }
private void EmitOutcomeToBaseLine(WarningKind kind, ProofOutcome outcome, APC pc, string message) { int primaryILOffset, methodILOffset; GetILOffsets(pc, this.currentMethod, out primaryILOffset, out methodILOffset); xmlWriter.WriteStartElement("Outcome"); xmlWriter.WriteAttributeString("Kind", kind.ToString()); xmlWriter.WriteAttributeString("Outcome", outcome.ToString()); xmlWriter.WriteAttributeString("Message", message); xmlWriter.WriteAttributeString("PrimaryILOffset", primaryILOffset.ToString("x")); xmlWriter.WriteAttributeString("MethodILOffset", methodILOffset.ToString("x")); xmlWriter.WriteEndElement(); }