in src/Microsoft.VisualStudio.SDK.Analyzers/Utils.cs [148:173]
internal static NameSyntax QualifyName(IReadOnlyList<string> qualifiers, SimpleNameSyntax simpleName)
{
if (qualifiers == null)
{
throw new ArgumentNullException(nameof(qualifiers));
}
if (simpleName == null)
{
throw new ArgumentNullException(nameof(simpleName));
}
if (qualifiers.Count == 0)
{
throw new ArgumentException("At least one qualifier required.", nameof(qualifiers));
}
NameSyntax result = SyntaxFactory.IdentifierName(qualifiers[0]);
for (int i = 1; i < qualifiers.Count; i++)
{
IdentifierNameSyntax rightSide = SyntaxFactory.IdentifierName(qualifiers[i]);
result = SyntaxFactory.QualifiedName(result, rightSide);
}
return SyntaxFactory.QualifiedName(result, simpleName);
}