Made CodeTargetBuilder an abstract class
This commit is contained in:
parent
d6e892b30c
commit
49eab41726
|
|
@ -25,7 +25,7 @@ namespace Microsoft.AspNetCore.Razor.Language.CodeGeneration
|
|||
public static CodeTarget CreateDefault(
|
||||
RazorCodeDocument codeDocument,
|
||||
RazorCodeGenerationOptions options,
|
||||
Action<ICodeTargetBuilder> configure)
|
||||
Action<CodeTargetBuilder> configure)
|
||||
{
|
||||
if (codeDocument == null)
|
||||
{
|
||||
|
|
@ -59,7 +59,7 @@ namespace Microsoft.AspNetCore.Razor.Language.CodeGeneration
|
|||
public static CodeTarget CreateEmpty(
|
||||
RazorCodeDocument codeDocument,
|
||||
RazorCodeGenerationOptions options,
|
||||
Action<ICodeTargetBuilder> configure)
|
||||
Action<CodeTargetBuilder> configure)
|
||||
{
|
||||
if (codeDocument == null)
|
||||
{
|
||||
|
|
@ -76,12 +76,12 @@ namespace Microsoft.AspNetCore.Razor.Language.CodeGeneration
|
|||
return builder.Build();
|
||||
}
|
||||
|
||||
internal static void AddDesignTimeDefaults(ICodeTargetBuilder builder)
|
||||
internal static void AddDesignTimeDefaults(CodeTargetBuilder builder)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
internal static void AddRuntimeDefaults(ICodeTargetBuilder builder)
|
||||
internal static void AddRuntimeDefaults(CodeTargetBuilder builder)
|
||||
{
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
// 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.Collections.Generic;
|
||||
|
||||
namespace Microsoft.AspNetCore.Razor.Language.CodeGeneration
|
||||
{
|
||||
public abstract class CodeTargetBuilder
|
||||
{
|
||||
public abstract RazorCodeDocument CodeDocument { get; }
|
||||
|
||||
public abstract RazorCodeGenerationOptions Options { get; }
|
||||
|
||||
public abstract ICollection<ICodeTargetExtension> TargetExtensions { get; }
|
||||
|
||||
public abstract CodeTarget Build();
|
||||
}
|
||||
}
|
||||
|
|
@ -6,7 +6,7 @@ using System.Collections.Generic;
|
|||
|
||||
namespace Microsoft.AspNetCore.Razor.Language.CodeGeneration
|
||||
{
|
||||
internal class DefaultCodeTargetBuilder : ICodeTargetBuilder
|
||||
internal class DefaultCodeTargetBuilder : CodeTargetBuilder
|
||||
{
|
||||
public DefaultCodeTargetBuilder(RazorCodeDocument codeDocument, RazorCodeGenerationOptions options)
|
||||
{
|
||||
|
|
@ -16,13 +16,13 @@ namespace Microsoft.AspNetCore.Razor.Language.CodeGeneration
|
|||
TargetExtensions = new List<ICodeTargetExtension>();
|
||||
}
|
||||
|
||||
public RazorCodeDocument CodeDocument { get; }
|
||||
public override RazorCodeDocument CodeDocument { get; }
|
||||
|
||||
public RazorCodeGenerationOptions Options { get; }
|
||||
public override RazorCodeGenerationOptions Options { get; }
|
||||
|
||||
public ICollection<ICodeTargetExtension> TargetExtensions { get; }
|
||||
public override ICollection<ICodeTargetExtension> TargetExtensions { get; }
|
||||
|
||||
public CodeTarget Build()
|
||||
public override CodeTarget Build()
|
||||
{
|
||||
return new DefaultCodeTarget(Options, TargetExtensions);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,18 +0,0 @@
|
|||
// 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.Collections.Generic;
|
||||
|
||||
namespace Microsoft.AspNetCore.Razor.Language.CodeGeneration
|
||||
{
|
||||
public interface ICodeTargetBuilder
|
||||
{
|
||||
RazorCodeDocument CodeDocument { get; }
|
||||
|
||||
RazorCodeGenerationOptions Options { get; }
|
||||
|
||||
ICollection<ICodeTargetExtension> TargetExtensions { get; }
|
||||
|
||||
CodeTarget Build();
|
||||
}
|
||||
}
|
||||
|
|
@ -93,7 +93,7 @@ namespace Microsoft.AspNetCore.Razor.Language
|
|||
});
|
||||
}
|
||||
|
||||
protected virtual void ConfigureTarget(ICodeTargetBuilder builder)
|
||||
protected virtual void ConfigureTarget(CodeTargetBuilder builder)
|
||||
{
|
||||
// Intentionally empty.
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Razor.Language.CodeGeneration
|
|||
{
|
||||
// Arrange
|
||||
var wasCalled = false;
|
||||
Action<ICodeTargetBuilder> @delegate = (b) => { wasCalled = true; };
|
||||
Action<CodeTargetBuilder> @delegate = (b) => { wasCalled = true; };
|
||||
|
||||
var codeDocument = TestRazorCodeDocument.CreateEmpty();
|
||||
var options = RazorCodeGenerationOptions.CreateDefault();
|
||||
|
|
|
|||
|
|
@ -248,7 +248,7 @@ namespace Microsoft.AspNetCore.Razor.Language
|
|||
|
||||
public bool ShouldMatch { get; set; } = true;
|
||||
|
||||
public Action<ICodeTargetBuilder> CodeTargetCallback { get; set; }
|
||||
public Action<CodeTargetBuilder> CodeTargetCallback { get; set; }
|
||||
|
||||
public string Namespace { get; set; }
|
||||
|
||||
|
|
@ -274,7 +274,7 @@ namespace Microsoft.AspNetCore.Razor.Language
|
|||
@method.MethodName = Method;
|
||||
}
|
||||
|
||||
protected override void ConfigureTarget(ICodeTargetBuilder builder)
|
||||
protected override void ConfigureTarget(CodeTargetBuilder builder)
|
||||
{
|
||||
CodeTargetCallback?.Invoke(builder);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue