|
1 |
| -using Rubberduck.Parsing; |
| 1 | +using Rubberduck.Inspections.Results; |
| 2 | +using Rubberduck.Parsing; |
2 | 3 | using Rubberduck.Parsing.Annotations;
|
| 4 | +using Rubberduck.Parsing.Inspections.Abstract; |
3 | 5 | using Rubberduck.Parsing.Symbols;
|
4 | 6 | using Rubberduck.Parsing.VBA.DeclarationCaching;
|
5 | 7 | using Rubberduck.VBEditor;
|
| 8 | +using System; |
6 | 9 | using System.Linq;
|
7 | 10 |
|
8 | 11 | namespace Rubberduck.Inspections.Inspections.Extensions
|
@@ -30,6 +33,21 @@ public static bool IsIgnoringInspectionResultFor(this QualifiedContext parserCon
|
30 | 33 | return parserContext.ModuleName.IsIgnoringInspectionResultFor(parserContext.Context.Start.Line, declarationFinder, inspectionName);
|
31 | 34 | }
|
32 | 35 |
|
| 36 | + public static bool IsIgnoringInspectionResult(this IInspectionResult result, DeclarationFinder declarationFinder) |
| 37 | + { |
| 38 | + switch (result) |
| 39 | + { |
| 40 | + case DeclarationInspectionResult dr: |
| 41 | + return dr.Target.IsIgnoringInspectionResultFor(dr.Inspection.AnnotationName); |
| 42 | + case IdentifierReferenceInspectionResult irr: |
| 43 | + return irr.QualifiedName.IsIgnoringInspectionResultFor(irr.Context.Start.Line, declarationFinder, irr.Inspection.AnnotationName); |
| 44 | + case QualifiedContextInspectionResult qcr: |
| 45 | + return qcr.QualifiedName.IsIgnoringInspectionResultFor(qcr.Context.Start.Line, declarationFinder, qcr.Inspection.AnnotationName); |
| 46 | + default: |
| 47 | + return false; |
| 48 | + } |
| 49 | + } |
| 50 | + |
33 | 51 | private static bool IsIgnoringInspectionResultFor(this QualifiedModuleName module, int line, DeclarationFinder declarationFinder, string inspectionName)
|
34 | 52 | {
|
35 | 53 | var lineScopedAnnotations = declarationFinder.FindAnnotations<IgnoreAnnotation>(module, line);
|
|
0 commit comments