Skip to content

Commit f20e5be

Browse files
Simplify logic of determining Reference definition (#1139)
1 parent 46c3b79 commit f20e5be

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

src/PowerShellEditorServices/Services/CodeLens/ReferencesCodeLensProvider.cs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ public CodeLens ResolveCodeLens(CodeLens codeLens, ScriptFile scriptFile)
139139
}
140140

141141
/// <summary>
142-
/// Check whether a SymbolReference is not a reference to another defined symbol.
142+
/// Check whether a SymbolReference is the actual definition of that symbol.
143143
/// </summary>
144144
/// <param name="definition">The symbol definition that may be referenced.</param>
145145
/// <param name="reference">The reference symbol to check.</param>
@@ -148,11 +148,15 @@ private static bool IsReferenceDefinition(
148148
SymbolReference definition,
149149
SymbolReference reference)
150150
{
151+
// First check if we are in the same file as the definition. if we are...
152+
// check if it's on the same line number.
153+
154+
// TODO: Do we care about two symbol definitions of the same name?
155+
// if we do, how could we possibly know that a reference in one file is a reference
156+
// of a particular symbol definition?
151157
return
152-
definition.FilePath != reference.FilePath
153-
|| definition.ScriptRegion.StartLineNumber != reference.ScriptRegion.StartLineNumber
154-
|| definition.SymbolType != reference.SymbolType
155-
|| !string.Equals(definition.SymbolName, reference.SymbolName, StringComparison.OrdinalIgnoreCase);
158+
definition.FilePath == reference.FilePath &&
159+
definition.ScriptRegion.StartLineNumber == reference.ScriptRegion.StartLineNumber;
156160
}
157161

158162
/// <summary>

0 commit comments

Comments
 (0)