/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Compilers/CSharp/Portable/Syntax/InternalSyntax/SyntaxToken.MissingTokenWithTrivia.cs
68 строк
2 KB
Cyrus Najmabadi
Fix index out of bounds producing diagnostic in error recovery scenario (#80391)
23 сен 2025, 11:20
Не верифицирован
23 сен 2025, 11:20
8511481
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. #nullable disable using System; using Roslyn.Utilities; namespace Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax { internal partial class SyntaxToken { internal sealed class MissingTokenWithTrivia : SyntaxTokenWithTrivia { internal MissingTokenWithTrivia(SyntaxKind kind, GreenNode leading, GreenNode trailing) : base(kind, leading, trailing) { ClearFlags(NodeFlags.IsNotMissing); } internal MissingTokenWithTrivia(SyntaxKind kind, GreenNode leading, GreenNode trailing, DiagnosticInfo[] diagnostics, SyntaxAnnotation[] annotations) : base(kind, leading, trailing, diagnostics, annotations) { ClearFlags(NodeFlags.IsNotMissing); } public override string Text { get { return string.Empty; } } public override object Value { get { switch (this.Kind) { case SyntaxKind.IdentifierToken: return string.Empty; default: return null; } } } public override SyntaxToken TokenWithLeadingTrivia(GreenNode trivia) { return new MissingTokenWithTrivia(this.Kind, trivia, this.TrailingField, this.GetDiagnostics(), this.GetAnnotations()); } public override SyntaxToken TokenWithTrailingTrivia(GreenNode trivia) { return new MissingTokenWithTrivia(this.Kind, this.LeadingField, trivia, this.GetDiagnostics(), this.GetAnnotations()); } internal override GreenNode SetDiagnostics(DiagnosticInfo[] diagnostics) { return new MissingTokenWithTrivia(this.Kind, this.LeadingField, this.TrailingField, diagnostics, this.GetAnnotations()); } internal override GreenNode SetAnnotations(SyntaxAnnotation[] annotations) { return new MissingTokenWithTrivia(this.Kind, this.LeadingField, this.TrailingField, this.GetDiagnostics(), annotations); } } } }