| File: Language\Legacy\PartialParseResultInternal.cs | Web Access |
| Project: src\roslyn\src\Razor\src\Compiler\Microsoft.CodeAnalysis.Razor.Compiler\src\Microsoft.CodeAnalysis.Razor.Compiler.csproj (Microsoft.CodeAnalysis.Razor.Compiler) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable disable using System; namespace Microsoft.AspNetCore.Razor.Language.Legacy; // Flags: // Provisional, ContextChanged, Accepted, Rejected // 000001 1 - Rejected, // 000010 2 - Accepted // 000100 4 - Provisional // 001000 8 - Context Changed // 010000 16 - Auto Complete Block /// <summary> /// The result of attempting an incremental parse /// </summary> /// <remarks> /// Either the Accepted or Rejected flag is ALWAYS set. /// Additionally, Provisional may be set with Accepted and SpanContextChanged may be set with Rejected. /// Provisional may NOT be set with Rejected and SpanContextChanged may NOT be set with Accepted. /// </remarks> [Flags] internal enum PartialParseResultInternal { /// <summary> /// Indicates that the edit could not be accepted and that a reparse is underway. /// </summary> Rejected = 1, /// <summary> /// Indicates that the edit was accepted and has been added to the parse tree /// </summary> Accepted = 2, /// <summary> /// Indicates that the edit was accepted, but that a reparse should be forced when idle time is available /// since the edit may be misclassified /// </summary> /// <remarks> /// This generally occurs when a "." is typed in an Implicit Expression, since editors require that this /// be assigned to Code in order to properly support features like IntelliSense. However, if no further edits /// occur following the ".", it should be treated as Markup. /// </remarks> Provisional = 4, /// <summary> /// Indicates that the edit caused a change in the span's context and that if any statement completions were active prior to starting this /// partial parse, they should be reinitialized. /// </summary> SpanContextChanged = 8, /// <summary> /// Indicates that the edit requires an auto completion to occur /// </summary> AutoCompleteBlock = 16 }