// 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. namespace Microsoft.AspNetCore.Razor.Language { public abstract class RazorCodeGenerationOptionsBuilder { public abstract bool DesignTime { get; } public abstract int IndentSize { get; set; } public abstract bool IndentWithTabs { get; set; } /// /// Gets or sets a value that indicates whether to suppress the default #pragma checksum directive in the /// generated C# code. If false the checkum directive will be included, otherwise it will not be /// generated. Defaults to false, meaning that the checksum will be included. /// /// /// The #pragma checksum is required to enable debugging and should only be supressed for testing /// purposes. /// public abstract bool SuppressChecksum { get; set; } /// /// Gets or setsa value that indicates whether to suppress the default metadata attributes in the generated /// C# code. If false the default attributes will be included, otherwise they will not be generated. /// Defaults to false at run time, meaning that the attributes will be included. Defaults to /// true at design time, meaning that the attributes will not be included. /// /// /// /// The Microsoft.AspNetCore.Razor.Runtime package includes a default set of attributes intended /// for runtimes to discover metadata about the compiled code. /// /// /// The default metadata attributes should be suppressed if code generation targets a runtime without /// a reference to Microsoft.AspNetCore.Razor.Runtime, or for testing purposes. /// /// public virtual bool SuppressMetadataAttributes { get; set; } public abstract RazorCodeGenerationOptions Build(); } }