public override SyntaxNode VisitAttribute(AttributeSyntax node) { var typeName = string.Empty; var identifier = node.Name + "Attribute"; if (TryGetValue(identifier, out typeName)) { if (typeName.EndsWith("Attribute")) { typeName = typeName.Remove(typeName.Length - 9); return(node.WithName(SyntaxFactory.ParseName(typeName) .WithLeadingTrivia(node.GetLeadingTrivia()) .WithTrailingTrivia(node.GetTrailingTrivia()))); } } return(base.VisitAttribute(node)); }