示例#1
0
        public static string[] ToCustomTags(this IdeVisibility ideVisibility)
        {
            if (ideVisibility == IdeVisibility.Hidden)
            {
                return(new[] { WellKnownDiagnosticTags.Unnecessary });
            }

            return(new string[0]);
        }
 public static DiagnosticDescriptor GetDescriptor(string diagnosticId, string messageFormat,
                                                  IdeVisibility ideVisibility, ResourceManager resourceManager)
 {
     return(new DiagnosticDescriptor(
                diagnosticId,
                resourceManager.GetString($"{diagnosticId}_Title"),
                messageFormat,
                resourceManager.GetString($"{diagnosticId}_Category"),
                ParseSeverity(resourceManager.GetString($"{diagnosticId}_Severity")).ToDiagnosticSeverity(ideVisibility),
                bool.Parse(resourceManager.GetString($"{diagnosticId}_IsActivatedByDefault")),
                helpLinkUri: GetHelpLink(resourceManager, diagnosticId),
                description: resourceManager.GetString($"{diagnosticId}_Description"),
                customTags: ideVisibility.ToCustomTags()));
 }
示例#3
0
 public static DiagnosticDescriptor GetDescriptor(string diagnosticId, string messageFormat,
                                                  IdeVisibility ideVisibility, ResourceManager resourceManager)
 {
     return(new DiagnosticDescriptor(
                diagnosticId,
                resourceManager.GetString($"{diagnosticId}_Title"),
                messageFormat,
                resourceManager.GetString($"{diagnosticId}_Category"),
                ParseSeverity(resourceManager.GetString($"{diagnosticId}_Severity")).ToDiagnosticSeverity(ideVisibility),
                isEnabledByDefault: true, // We want to have all rules enabled by default
                helpLinkUri: GetHelpLink(resourceManager, diagnosticId),
                description: resourceManager.GetString($"{diagnosticId}_Description"),
                customTags: BuildCustomTags(diagnosticId, ideVisibility, resourceManager).ToArray()));
 }
示例#4
0
        private static IEnumerable <string> BuildCustomTags(string diagnosticId, IdeVisibility ideVisibility,
                                                            ResourceManager resourceManager)
        {
            if (bool.Parse(resourceManager.GetString($"{diagnosticId}_IsActivatedByDefault")))
            {
                yield return(DiagnosticTagsHelper.SonarWayTag);
            }

            if (ideVisibility == IdeVisibility.Hidden)
            {
                yield return(WellKnownDiagnosticTags.Unnecessary);
            }

            yield return(resourceManager.GetString("RoslynLanguage"));
        }
示例#5
0
 public static DiagnosticSeverity ToDiagnosticSeverity(this Severity severity,
     IdeVisibility ideVisibility)
 {
     switch (severity)
     {
         case Severity.Info:
             return ideVisibility == IdeVisibility.Hidden ? DiagnosticSeverity.Hidden : DiagnosticSeverity.Info;
         case Severity.Minor:
             return ideVisibility == IdeVisibility.Hidden ? DiagnosticSeverity.Hidden : DiagnosticSeverity.Warning;
         case Severity.Major:
         case Severity.Critical:
         case Severity.Blocker:
             return DiagnosticSeverity.Warning;
         default:
             throw new NotSupportedException();
     }
 }
示例#6
0
        public static DiagnosticSeverity ToDiagnosticSeverity(this Severity severity,
                                                              IdeVisibility ideVisibility = IdeVisibility.Visible)
        {
            switch (severity)
            {
            case Severity.Info:
                return(ideVisibility == IdeVisibility.Hidden ? DiagnosticSeverity.Hidden : DiagnosticSeverity.Info);

            case Severity.Minor:
                return(ideVisibility == IdeVisibility.Hidden ? DiagnosticSeverity.Hidden : DiagnosticSeverity.Warning);

            case Severity.Major:
            case Severity.Critical:
            case Severity.Blocker:
                return(DiagnosticSeverity.Warning);

            default:
                throw new NotSupportedException();
            }
        }
 private static string[] ToCustomTags(this IdeVisibility ideVisibility)
 {
     return(ideVisibility == IdeVisibility.Hidden
         ? new[] { WellKnownDiagnosticTags.Unnecessary }
         : new string[0]);
 }