public override SyntaxNode VisitIdentifierName(IdentifierNameSyntax node) { IAliasSymbol aliasSymbol = SemanticModel.GetAliasInfo(node, CancellationToken); if (aliasSymbol?.Equals(AliasSymbol) == true) { return(Replacement .WithTriviaFrom(node) .WithSimplifierAnnotation()); } return(base.VisitIdentifierName(node)); }
private static List <IdentifierNameSyntax> CollectNames( SyntaxNode node, IAliasSymbol aliasSymbol, SemanticModel semanticModel, CancellationToken cancellationToken) { var names = new List <IdentifierNameSyntax>(); foreach (SyntaxNode descendant in node.DescendantNodes()) { if (descendant.Kind() == SyntaxKind.IdentifierName) { IAliasSymbol symbol = semanticModel.GetAliasInfo(descendant, cancellationToken); if (symbol?.Equals(aliasSymbol) == true) { names.Add((IdentifierNameSyntax)descendant); } } } return(names); }