26 lines
727 B
C#
26 lines
727 B
C#
using System.Threading;
|
|
using Microsoft.CodeAnalysis.Text;
|
|
|
|
namespace Microsoft.CodeAnalysis.Syntax;
|
|
|
|
internal abstract class TranslationSyntaxReference : SyntaxReference
|
|
{
|
|
private readonly SyntaxReference _reference;
|
|
|
|
public sealed override TextSpan Span => _reference.Span;
|
|
|
|
public sealed override SyntaxTree SyntaxTree => _reference.SyntaxTree;
|
|
|
|
protected TranslationSyntaxReference(SyntaxReference reference)
|
|
{
|
|
_reference = reference;
|
|
}
|
|
|
|
public sealed override SyntaxNode GetSyntax(CancellationToken cancellationToken = default(CancellationToken))
|
|
{
|
|
return Translate(_reference, cancellationToken);
|
|
}
|
|
|
|
protected abstract SyntaxNode Translate(SyntaxReference reference, CancellationToken cancellationToken);
|
|
}
|