private static ResultLevel ConvertFxCopLevelToResultLevel(string fxcopLevel, out bool mapsDirectlyToSarifName)
{
mapsDirectlyToSarifName = true;
// Values below derived from definition of FxCop MessageLevel enum
// Microsoft.VisualStudio.CodeAnalysis.Extensibility.MessageLevel
switch (fxcopLevel)
{
case "Error":
{
return ResultLevel.Error;
}
case "CriticalError":
{
mapsDirectlyToSarifName = false;
return ResultLevel.Error;
}
case "Warning":
{
return ResultLevel.Warning;
}
case "CriticalWarning":
{
mapsDirectlyToSarifName = false;
return ResultLevel.Warning;
}
case "Information":
{
mapsDirectlyToSarifName = false;
return ResultLevel.Note;
}
default:
{
break;
}
}
// In some circumstances, such as reporting an 'excluded' message,
// FxCop provides no MessageLevel. For these issues, we shouldn't
// emit any value at all
mapsDirectlyToSarifName = false;
return ResultLevel.Default;
}