Skip to content

Commit fcf9d42

Browse files
committed
Reduce searched declarations in CodeMetricsAnalyst
1 parent 44dfb16 commit fcf9d42

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

RetailCoder.VBE/Navigation/CodeMetrics/CodeMetricsAnalyst.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ private class CodeMetricsListener : VBAParserBaseListener
5454
private readonly DeclarationFinder _finder;
5555
private readonly IIndenterSettings _indenterSettings;
5656

57-
private Declaration currentMember;
57+
private Declaration _currentMember;
5858
private List<CodeMetricsResult> _results = new List<CodeMetricsResult>();
5959
private List<CodeMetricsResult> _moduleResults = new List<CodeMetricsResult>();
6060

@@ -76,7 +76,7 @@ public override void EnterEndOfLine([NotNull] VBAParser.EndOfLineContext context
7676
var followingWhitespace = context.whiteSpace().LastOrDefault();
7777
followingIndentationLevel = IndentationLevelFromWhitespace(followingWhitespace);
7878
}
79-
(currentMember == null ? _moduleResults : _results).Add(new CodeMetricsResult(1, 0, followingIndentationLevel));
79+
(_currentMember == null ? _moduleResults : _results).Add(new CodeMetricsResult(1, 0, followingIndentationLevel));
8080
}
8181

8282
public override void EnterIfStmt([NotNull] VBAParser.IfStmtContext context)
@@ -109,7 +109,7 @@ public override void EnterCaseClause([NotNull] VBAParser.CaseClauseContext conte
109109
public override void EnterSubStmt([NotNull] VBAParser.SubStmtContext context)
110110
{
111111
_results.Add(new CodeMetricsResult(0, 1, 0));
112-
currentMember = _finder.DeclarationsWithType(DeclarationType.Procedure).Where(d => d.Context == context).First();
112+
_currentMember = _finder.UserDeclarations(DeclarationType.Procedure).Where(d => d.Context == context).First();
113113
}
114114

115115
public override void ExitSubStmt([NotNull] VBAParser.SubStmtContext context)
@@ -120,7 +120,7 @@ public override void ExitSubStmt([NotNull] VBAParser.SubStmtContext context)
120120
public override void EnterFunctionStmt([NotNull] VBAParser.FunctionStmtContext context)
121121
{
122122
_results.Add(new CodeMetricsResult(0, 1, 0));
123-
currentMember = _finder.DeclarationsWithType(DeclarationType.Function).Where(d => d.Context == context).First();
123+
_currentMember = _finder.UserDeclarations(DeclarationType.Function).Where(d => d.Context == context).First();
124124
}
125125

126126
public override void ExitFunctionStmt([NotNull] VBAParser.FunctionStmtContext context)
@@ -131,7 +131,7 @@ public override void ExitFunctionStmt([NotNull] VBAParser.FunctionStmtContext co
131131
public override void EnterPropertyGetStmt([NotNull] VBAParser.PropertyGetStmtContext context)
132132
{
133133
_results.Add(new CodeMetricsResult(0, 1, 0));
134-
currentMember = _finder.DeclarationsWithType(DeclarationType.PropertyGet).Where(d => d.Context == context).First();
134+
_currentMember = _finder.UserDeclarations(DeclarationType.PropertyGet).Where(d => d.Context == context).First();
135135
}
136136

137137
public override void ExitPropertyGetStmt([NotNull] VBAParser.PropertyGetStmtContext context)
@@ -142,7 +142,7 @@ public override void ExitPropertyGetStmt([NotNull] VBAParser.PropertyGetStmtCont
142142
public override void EnterPropertyLetStmt([NotNull] VBAParser.PropertyLetStmtContext context)
143143
{
144144
_results.Add(new CodeMetricsResult(0, 1, 0));
145-
currentMember = _finder.DeclarationsWithType(DeclarationType.PropertyLet).Where(d => d.Context == context).First();
145+
_currentMember = _finder.UserDeclarations(DeclarationType.PropertyLet).Where(d => d.Context == context).First();
146146
}
147147

148148
public override void ExitPropertyLetStmt([NotNull] VBAParser.PropertyLetStmtContext context)
@@ -153,7 +153,7 @@ public override void ExitPropertyLetStmt([NotNull] VBAParser.PropertyLetStmtCont
153153
public override void EnterPropertySetStmt([NotNull] VBAParser.PropertySetStmtContext context)
154154
{
155155
_results.Add(new CodeMetricsResult(0, 1, 0));
156-
currentMember = _finder.DeclarationsWithType(DeclarationType.PropertySet).Where(d => d.Context == context).First();
156+
_currentMember = _finder.UserDeclarations(DeclarationType.PropertySet).Where(d => d.Context == context).First();
157157
}
158158

159159
public override void ExitPropertySetStmt([NotNull] VBAParser.PropertySetStmtContext context)
@@ -179,9 +179,9 @@ private int IndentationLevelFromWhitespace(VBAParser.WhiteSpaceContext wsContext
179179

180180
private void ExitMeasurableMember()
181181
{
182-
_memberResults.Add(new MemberMetricsResult(currentMember, _results));
182+
_memberResults.Add(new MemberMetricsResult(_currentMember, _results));
183183
_results = new List<CodeMetricsResult>(); // reinitialize to drop results
184-
currentMember = null;
184+
_currentMember = null;
185185
}
186186

187187
internal ModuleMetricsResult GetMetricsResult(QualifiedModuleName qmn)

RubberduckTests/Stats/ParseTreeMetricsAnalystTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace RubberduckTests.Stats
1010
{
1111
[TestClass]
12-
public class ParseTreeMetricsAnalystTests
12+
public class CodeMetricsAnalystTests
1313
{
1414
private CodeMetricsAnalyst cut;
1515

0 commit comments

Comments
 (0)