// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Runtime.Serialization; using Microsoft.CodeAnalysis.CodeStyle; using Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles; using Microsoft.CodeAnalysis.Options; namespace Microsoft.CodeAnalysis.CodeGeneration; /// <summary> /// Document-specific options for controlling the code produced by code generation. /// </summary> internal record CodeGenerationOptions { /// <summary> /// Language agnostic defaults. /// </summary> internal static readonly CodeGenerationOptions CommonDefaults = new(); [DataMember] public NamingStylePreferences NamingStyle { get; init; } = NamingStylePreferences.Default; private protected CodeGenerationOptions() { } private protected CodeGenerationOptions(IOptionsReader options, string language) { NamingStyle = options.GetOption(NamingStyleOptions.NamingPreferences, language); } } |