Reduce public surface area of some APIs.
- Change `DefaultRazorEngineBuilder.DesignTime` to be getter only - Make `DocumentClassifierPassBase.TargetExtensions` private. #1510
This commit is contained in:
parent
d891fae4a9
commit
45fad171a6
|
|
@ -8,8 +8,9 @@ namespace Microsoft.AspNetCore.Razor.Language
|
|||
{
|
||||
internal class DefaultRazorEngineBuilder : IRazorEngineBuilder
|
||||
{
|
||||
public DefaultRazorEngineBuilder()
|
||||
public DefaultRazorEngineBuilder(bool designTime)
|
||||
{
|
||||
DesignTime = designTime;
|
||||
Features = new List<IRazorEngineFeature>();
|
||||
Phases = new List<IRazorEnginePhase>();
|
||||
}
|
||||
|
|
@ -18,7 +19,7 @@ namespace Microsoft.AspNetCore.Razor.Language
|
|||
|
||||
public IList<IRazorEnginePhase> Phases { get; }
|
||||
|
||||
public bool DesignTime { get; set; }
|
||||
public bool DesignTime { get; }
|
||||
|
||||
public RazorEngine Build()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,15 +11,14 @@ namespace Microsoft.AspNetCore.Razor.Language
|
|||
public abstract class DocumentClassifierPassBase : IntermediateNodePassBase, IRazorDocumentClassifierPass
|
||||
{
|
||||
private static readonly ICodeTargetExtension[] EmptyExtensionArray = new ICodeTargetExtension[0];
|
||||
private ICodeTargetExtension[] _targetExtensions;
|
||||
|
||||
protected abstract string DocumentKind { get; }
|
||||
|
||||
protected ICodeTargetExtension[] TargetExtensions { get; private set; }
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
var feature = Engine.Features.OfType<IRazorTargetExtensionFeature>();
|
||||
TargetExtensions = feature.FirstOrDefault()?.TargetExtensions.ToArray() ?? EmptyExtensionArray;
|
||||
_targetExtensions = feature.FirstOrDefault()?.TargetExtensions.ToArray() ?? EmptyExtensionArray;
|
||||
}
|
||||
|
||||
protected sealed override void ExecuteCore(RazorCodeDocument codeDocument, DocumentIntermediateNode documentNode)
|
||||
|
|
@ -85,9 +84,9 @@ namespace Microsoft.AspNetCore.Razor.Language
|
|||
{
|
||||
return CodeTarget.CreateDefault(codeDocument, options, (builder) =>
|
||||
{
|
||||
for (var i = 0; i < TargetExtensions.Length; i++)
|
||||
for (var i = 0; i < _targetExtensions.Length; i++)
|
||||
{
|
||||
builder.TargetExtensions.Add(TargetExtensions[i]);
|
||||
builder.TargetExtensions.Add(_targetExtensions[i]);
|
||||
}
|
||||
|
||||
ConfigureTarget(builder);
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ namespace Microsoft.AspNetCore.Razor.Language
|
|||
|
||||
IList<IRazorEnginePhase> Phases { get; }
|
||||
|
||||
bool DesignTime { get; set; }
|
||||
bool DesignTime { get; }
|
||||
|
||||
RazorEngine Build();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Razor.Language
|
|||
|
||||
public static RazorEngine Create(Action<IRazorEngineBuilder> configure)
|
||||
{
|
||||
var builder = new DefaultRazorEngineBuilder();
|
||||
var builder = new DefaultRazorEngineBuilder(designTime: false);
|
||||
AddDefaults(builder);
|
||||
AddRuntimeDefaults(builder);
|
||||
configure?.Invoke(builder);
|
||||
|
|
@ -32,10 +32,7 @@ namespace Microsoft.AspNetCore.Razor.Language
|
|||
|
||||
public static RazorEngine CreateDesignTime(Action<IRazorEngineBuilder> configure)
|
||||
{
|
||||
var builder = new DefaultRazorEngineBuilder()
|
||||
{
|
||||
DesignTime = true,
|
||||
};
|
||||
var builder = new DefaultRazorEngineBuilder(designTime: true);
|
||||
AddDefaults(builder);
|
||||
AddDesignTimeDefaults(builder);
|
||||
configure?.Invoke(builder);
|
||||
|
|
@ -44,7 +41,7 @@ namespace Microsoft.AspNetCore.Razor.Language
|
|||
|
||||
public static RazorEngine CreateEmpty(Action<IRazorEngineBuilder> configure)
|
||||
{
|
||||
var builder = new DefaultRazorEngineBuilder();
|
||||
var builder = new DefaultRazorEngineBuilder(designTime: false);
|
||||
configure?.Invoke(builder);
|
||||
return builder.Build();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ namespace Microsoft.AspNetCore.Razor.Language
|
|||
public void Build_AddsFeaturesAndPhases()
|
||||
{
|
||||
// Arrange
|
||||
var builder = new DefaultRazorEngineBuilder();
|
||||
var builder = new DefaultRazorEngineBuilder(designTime: false);
|
||||
|
||||
builder.Features.Add(Mock.Of<IRazorEngineFeature>());
|
||||
builder.Features.Add(Mock.Of<IRazorEngineFeature>());
|
||||
|
|
|
|||
Loading…
Reference in New Issue