Skip to content

Commit c26d64a

Browse files
authored
Merge branch 'next' into next
2 parents 83cce66 + 2dcf02e commit c26d64a

16 files changed

+62
-28
lines changed

RetailCoder.VBE/Inspections/Abstract/InspectionBase.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,18 @@ protected bool IsInspectionDisabled(Declaration declaration, string inspectionNa
128128
&& ((IgnoreAnnotation)annotation).IsIgnored(inspectionName));
129129
}
130130

131+
protected bool IsInspectionDisabled(IdentifierReference reference, string inspectionName)
132+
{
133+
if (reference == null)
134+
{
135+
return false;
136+
}
137+
138+
return reference.Annotations.Any(annotation =>
139+
annotation.AnnotationType == AnnotationType.Ignore
140+
&& ((IgnoreAnnotation)annotation).IsIgnored(inspectionName));
141+
}
142+
131143
public int CompareTo(IInspection other)
132144
{
133145
return string.Compare(InspectionType + Name, other.InspectionType + other.Name, StringComparison.Ordinal);

RetailCoder.VBE/Inspections/ImplicitByRefParameterInspection.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,10 @@ public ImplicitByRefParameterInspection(RubberduckParserState state)
2525
public override IEnumerable<InspectionResultBase> GetInspectionResults()
2626
{
2727
var interfaceMembersScope = UserDeclarations.FindInterfaceImplementationMembers().Select(m => m.Scope);
28-
var builtinEventHandlers = State.AllDeclarations.FindBuiltInEventHandlers();
28+
var builtinEventHandlers = Declarations.FindBuiltInEventHandlers();
2929

3030
var issues = (from item in UserDeclarations
31-
where
32-
!IsInspectionDisabled(item, AnnotationName)
33-
&& item.DeclarationType == DeclarationType.Parameter
31+
where item.DeclarationType == DeclarationType.Parameter
3432
// ParamArray parameters do not allow an explicit "ByRef" parameter mechanism.
3533
&& !((ParameterDeclaration)item).IsParamArray
3634
&& !interfaceMembersScope.Contains(item.ParentScope)
@@ -40,7 +38,6 @@ public override IEnumerable<InspectionResultBase> GetInspectionResults()
4038
select new QualifiedContext<VBAParser.ArgContext>(item.QualifiedName, arg))
4139
.Select(issue => new ImplicitByRefParameterInspectionResult(this, issue.Context.unrestrictedIdentifier().GetText(), issue));
4240

43-
4441
return issues;
4542
}
4643
}

RetailCoder.VBE/Inspections/ImplicitPublicMemberInspection.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,10 @@ public ImplicitPublicMemberInspection(RubberduckParserState state)
3333
public override IEnumerable<InspectionResultBase> GetInspectionResults()
3434
{
3535
var issues = from item in UserDeclarations
36-
where !IsInspectionDisabled(item, AnnotationName)
37-
&& ProcedureTypes.Contains(item.DeclarationType)
36+
where ProcedureTypes.Contains(item.DeclarationType)
3837
&& item.Accessibility == Accessibility.Implicit
3938
let context = new QualifiedContext<ParserRuleContext>(item.QualifiedName, item.Context)
40-
select new ImplicitPublicMemberInspectionResult(this, context, item);
39+
select new ImplicitPublicMemberInspectionResult(this, context, item);
4140
return issues;
4241
}
4342
}

RetailCoder.VBE/Inspections/ImplicitVariantReturnTypeInspection.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@ public ImplicitVariantReturnTypeInspection(RubberduckParserState state)
3131
public override IEnumerable<InspectionResultBase> GetInspectionResults()
3232
{
3333
var issues = from item in UserDeclarations
34-
where !IsInspectionDisabled(item, AnnotationName)
35-
&& ProcedureTypes.Contains(item.DeclarationType)
36-
&& !item.IsTypeSpecified
34+
where ProcedureTypes.Contains(item.DeclarationType) && !item.IsTypeSpecified
3735
let issue = new {Declaration = item, QualifiedContext = new QualifiedContext<ParserRuleContext>(item.QualifiedName, item.Context)}
3836
select new ImplicitVariantReturnTypeInspectionResult(this, issue.Declaration.IdentifierName, issue.QualifiedContext, item);
3937
return issues;

RetailCoder.VBE/Inspections/MultipleDeclarationsInspection.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ public MultipleDeclarationsInspection(RubberduckParserState state)
2424
public override IEnumerable<InspectionResultBase> GetInspectionResults()
2525
{
2626
var issues = UserDeclarations
27-
.Where(item => !IsInspectionDisabled(item, AnnotationName))
2827
.Where(item => item.DeclarationType == DeclarationType.Variable
2928
|| item.DeclarationType == DeclarationType.Constant)
3029
.GroupBy(variable => variable.Context.Parent as ParserRuleContext)

RetailCoder.VBE/Inspections/ObsoleteCallStatementInspection.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,7 @@ public override IEnumerable<InspectionResultBase> GetInspectionResults()
5151
if (!stringStrippedLines.Contains(":"))
5252
{
5353
results.Add(new ObsoleteCallStatementUsageInspectionResult(this,
54-
new QualifiedContext<VBAParser.CallStmtContext>(context.ModuleName,
55-
context.Context as VBAParser.CallStmtContext)));
54+
new QualifiedContext<VBAParser.CallStmtContext>(context.ModuleName, context.Context)));
5655
}
5756
}
5857
}

RetailCoder.VBE/Inspections/ProcedureNotUsedInspection.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@ public override IEnumerable<InspectionResultBase> GetInspectionResults()
3636
{
3737
var declarations = UserDeclarations.ToList();
3838

39-
var classes = UserDeclarations.Where(item => item.DeclarationType == DeclarationType.ClassModule).ToList();
40-
var modules = UserDeclarations.Where(item => item.DeclarationType == DeclarationType.ProceduralModule).ToList();
39+
var classes = declarations.Where(item => item.DeclarationType == DeclarationType.ClassModule).ToList();
40+
var modules = declarations.Where(item => item.DeclarationType == DeclarationType.ProceduralModule).ToList();
4141

4242
var handlers = declarations.Where(item => item.DeclarationType == DeclarationType.Control)
4343
.SelectMany(control => declarations.FindEventHandlers(control)).ToList();
4444

45-
var withEventFields = UserDeclarations.Where(item => item.DeclarationType == DeclarationType.Variable && item.IsWithEvents);
45+
var withEventFields = declarations.Where(item => item.DeclarationType == DeclarationType.Variable && item.IsWithEvents);
4646
handlers.AddRange(withEventFields.SelectMany(field => declarations.FindEventProcedures(field)));
4747

4848
var forms = declarations.Where(item => item.DeclarationType == DeclarationType.ClassModule
@@ -54,11 +54,10 @@ public override IEnumerable<InspectionResultBase> GetInspectionResults()
5454
handlers.AddRange(forms.SelectMany(form => State.FindFormEventHandlers(form)));
5555
}
5656

57-
handlers.AddRange(State.AllDeclarations.FindBuiltInEventHandlers());
57+
handlers.AddRange(Declarations.FindBuiltInEventHandlers());
5858

5959
var items = declarations
60-
.Where(item => !IsIgnoredDeclaration(declarations, item, handlers, classes, modules)
61-
&& !IsInspectionDisabled(item, AnnotationName)).ToList();
60+
.Where(item => !IsIgnoredDeclaration(declarations, item, handlers, classes, modules)).ToList();
6261
var issues = items.Select(issue => new IdentifierNotUsedInspectionResult(this, issue, issue.Context, issue.QualifiedName.QualifiedModuleName));
6362

6463
issues = DocumentEventHandlerPrefixes

RetailCoder.VBE/Inspections/Results/UndeclaredVariableInspectionResult.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public UndeclaredVariableInspectionResult(IInspection inspection, Declaration ta
1717
_quickFixes = new QuickFixBase[]
1818
{
1919
new IntroduceLocalVariableQuickFix(target),
20-
new IgnoreOnceQuickFix(target.Context, target.QualifiedSelection, inspection.Name),
20+
new IgnoreOnceQuickFix(target.Context, target.QualifiedSelection, inspection.AnnotationName),
2121
};
2222
}
2323

RetailCoder.VBE/Inspections/UnassignedVariableUsageInspection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public override IEnumerable<InspectionResultBase> GetInspectionResults()
2828
&& !UserDeclarations.Any(d => d.DeclarationType == DeclarationType.UserDefinedType
2929
&& d.IdentifierName == declaration.AsTypeName)
3030
&& !declaration.IsSelfAssigned
31-
&& !declaration.References.Any(reference => reference.IsAssignment));
31+
&& !declaration.References.Any(reference => reference.IsAssignment && !IsInspectionDisabled(reference, AnnotationName)));
3232

3333
//The parameter scoping was apparently incorrect before - need to filter for the actual function.
3434
var lenFunction = BuiltInDeclarations.SingleOrDefault(s => s.DeclarationType == DeclarationType.Function && s.Scope.Equals("VBE7.DLL;VBA.Strings.Len"));

RetailCoder.VBE/Inspections/UndeclaredVariableInspection.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using Rubberduck.Inspections.Abstract;
44
using Rubberduck.Inspections.Resources;
55
using Rubberduck.Inspections.Results;
6+
using Rubberduck.Parsing.Symbols;
67
using Rubberduck.Parsing.VBA;
78

89
namespace Rubberduck.Inspections
@@ -20,7 +21,7 @@ public UndeclaredVariableInspection(RubberduckParserState state)
2021

2122
public override IEnumerable<InspectionResultBase> GetInspectionResults()
2223
{
23-
return UserDeclarations.Where(item => item.IsUndeclared)
24+
return UserDeclarations.Where(item => item.IsUndeclared && item.DeclarationType == DeclarationType.Variable)
2425
.Select(item => new UndeclaredVariableInspectionResult(this, item));
2526
}
2627
}

0 commit comments

Comments
 (0)