47 lines
1.6 KiB
C#
47 lines
1.6 KiB
C#
// Copyright (c) .NET Foundation. All rights reserved.
|
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
|
|
using System;
|
|
using Microsoft.AspNetCore.Razor.Language.Legacy;
|
|
|
|
namespace Microsoft.AspNetCore.Razor.Language.Extensions
|
|
{
|
|
public static class InheritsDirective
|
|
{
|
|
public static readonly DirectiveDescriptor Directive = DirectiveDescriptor.CreateDirective(
|
|
SyntaxConstants.CSharp.InheritsKeyword,
|
|
DirectiveKind.SingleLine,
|
|
builder =>
|
|
{
|
|
builder.AddTypeToken(Resources.InheritsDirective_TypeToken_Name, Resources.InheritsDirective_TypeToken_Description);
|
|
builder.Usage = DirectiveUsage.FileScopedSinglyOccurring;
|
|
builder.Description = Resources.InheritsDirective_Description;
|
|
});
|
|
|
|
public static void Register(RazorProjectEngineBuilder builder)
|
|
{
|
|
if (builder == null)
|
|
{
|
|
throw new ArgumentNullException(nameof(builder));
|
|
}
|
|
|
|
builder.AddDirective(Directive);
|
|
builder.Features.Add(new InheritsDirectivePass());
|
|
}
|
|
|
|
#region Obsolete
|
|
[Obsolete("This method is obsolete and will be removed in a future version.")]
|
|
public static void Register(IRazorEngineBuilder builder)
|
|
{
|
|
if (builder == null)
|
|
{
|
|
throw new ArgumentNullException(nameof(builder));
|
|
}
|
|
|
|
builder.AddDirective(Directive);
|
|
builder.Features.Add(new InheritsDirectivePass());
|
|
}
|
|
#endregion
|
|
}
|
|
}
|