// 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>
	/// Understands directive nodes and performs the necessary modifications to the document.
	/// </summary>
	/// <remarks>
	/// <para>
	/// The second phase of intermediate node processing is directive classification. Passes in this phase should interpret
	/// directives and processing them accordingly by transforming nodes or adding diagnostics. At this time the document
	/// kind has been identified, so any directive that can't be applied should trigger
	/// errors. If implementing a document kind that diverges from the standard structure of Razor documents
	/// it may be necessary to reimplement processing of default directives.
	/// </para>
	/// <para>
	/// <see cref="IRazorDirectiveClassifierPass"/> objects are executed according to an ascending ordering of the
	/// <see cref="IRazorDirectiveClassifierPass.Order"/> property.
	/// </para>
	/// </remarks>
	public interface IRazorDirectiveClassifierPhase : IRazorEnginePhase
	{
	}
}
