Files
2026-08-27 10:56:38 -06:00

29 lines
854 B
C#

using System.Threading;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Syntax;
namespace Microsoft.CodeAnalysis.CSharp;
internal sealed class NamespaceDeclarationSyntaxReference : TranslationSyntaxReference
{
public NamespaceDeclarationSyntaxReference(SyntaxReference reference)
: base(reference)
{
}
protected override SyntaxNode Translate(SyntaxReference reference, CancellationToken cancellationToken)
{
return GetSyntax(reference, cancellationToken);
}
internal static SyntaxNode GetSyntax(SyntaxReference reference, CancellationToken cancellationToken)
{
CSharpSyntaxNode cSharpSyntaxNode = (CSharpSyntaxNode)(object)reference.GetSyntax(cancellationToken);
while (cSharpSyntaxNode is NameSyntax)
{
cSharpSyntaxNode = cSharpSyntaxNode.Parent;
}
return (SyntaxNode)(object)cSharpSyntaxNode;
}
}