Skip to content

Commit 09fc5d0

Browse files
committed
Include parameter type constraints as symbols
1 parent 43baed3 commit 09fc5d0

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

src/PowerShellEditorServices/Services/Symbols/ReferenceTable.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ private AstVisitAction AddReference(SymbolReference symbol)
9393
return existing;
9494
});
9595

96-
return symbol.SymbolType is SymbolType.Parameter
97-
? AstVisitAction.SkipChildren : AstVisitAction.Continue;
96+
return AstVisitAction.Continue;
9897
}
9998
}

src/PowerShellEditorServices/Services/Symbols/Visitors/SymbolVisitor.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,13 @@ public override AstVisitAction VisitParameter(ParameterAst parameterAst)
8585

8686
public override AstVisitAction VisitVariableExpression(VariableExpressionAst variableExpressionAst)
8787
{
88+
// Parameters are visited earlier, and we don't want to skip their children because we do
89+
// want to visit their type constraints.
90+
if (variableExpressionAst.Parent is ParameterAst)
91+
{
92+
return AstVisitAction.Continue;
93+
}
94+
8895
// TODO: Consider tracking unscoped variable references only when they declared within
8996
// the same function definition.
9097
return _action(new SymbolReference(

0 commit comments

Comments
 (0)