Skip to content

Commit 8657f44

Browse files
authored
Merge pull request #182 from rubberduck-vba/next
sync with main repo
2 parents 2507f7e + c3b2e9d commit 8657f44

File tree

3 files changed

+29
-1
lines changed

3 files changed

+29
-1
lines changed

RetailCoder.VBE/Inspections/Concrete/Inspector.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ private void UpdateInspectionSeverity(Configuration config)
4343
{
4444
foreach (var setting in config.UserSettings.CodeInspectionSettings.CodeInspections)
4545
{
46-
if (inspection.Description == setting.Description)
46+
if (inspection.Name == setting.Name)
4747
{
4848
inspection.Severity = setting.Severity;
4949
}

Rubberduck.Parsing/Symbols/DeclarationFinder.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,10 @@ public Declaration FindMemberEnclosingModule(Declaration callingModule, Declarat
263263

264264
public Declaration FindMemberEnclosingProcedure(Declaration enclosingProcedure, string memberName, DeclarationType memberType, ParserRuleContext onSiteContext = null)
265265
{
266+
if (memberType == DeclarationType.Variable && enclosingProcedure.IdentifierName.Equals(memberName))
267+
{
268+
return enclosingProcedure;
269+
}
266270
var allMatches = MatchName(memberName);
267271
var memberMatches = allMatches.Where(m =>
268272
m.DeclarationType.HasFlag(memberType)

RubberduckTests/Grammar/ResolverTests.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1111,6 +1111,30 @@ End Sub
11111111
&& item.ParentScoping.DeclarationType == DeclarationType.Procedure));
11121112
}
11131113

1114+
[TestMethod]
1115+
public void FunctionWithSameNameAsEnumReturnAssignment_DoesntResolveToEnum()
1116+
{
1117+
var code = @"
1118+
1119+
Option Explicit
1120+
Public Enum Foos
1121+
Foo1
1122+
End Enum
1123+
1124+
Public Function Foos() As Foos
1125+
Foos = Foo1
1126+
End Function
1127+
";
1128+
1129+
var state = Resolve(code);
1130+
1131+
var declaration = state.AllUserDeclarations.Single(item =>
1132+
item.DeclarationType == DeclarationType.Enumeration
1133+
&& item.IdentifierName == "Foos");
1134+
1135+
Assert.IsTrue(declaration.References.All(item => item.Selection.StartLine != 9));
1136+
}
1137+
11141138
[TestMethod]
11151139
public void UserDefinedTypeParameterAsTypeName_ResolvesToUserDefinedTypeDeclaration()
11161140
{

0 commit comments

Comments
 (0)