// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

namespace Microsoft.AspNetCore.Razor.Language
{
    /// <summary>
    /// Performs necessary modifications to the <see cref="Intermediate.DocumentIntermediateNode"/> to complete and
    /// optimize code generation.
    /// </summary>
    /// <remarks>
    /// <para>
    /// The last phase of intermediate node document processing is optimization. Passes in this phase perform some
    /// kind of transformation on the intermediate node document that optimizes the generated code. The key distinction
    /// here is that information may be discarded during this phase.
    /// </para>
    /// <para>
    /// <see cref="IRazorOptimizationPass"/> objects are executed according to an ascending ordering of the
    /// <see cref="IRazorOptimizationPass.Order"/> property.
    /// </para>
    /// </remarks>
    public interface IRazorOptimizationPhase : IRazorEnginePhase
    {
    }
}