File: Options\AutomationObject\AutomationObject.cs
Web Access
Project: src\src\VisualStudio\CSharp\Impl\Microsoft.VisualStudio.LanguageServices.CSharp_vrxibajw_wpftmp.csproj (Microsoft.VisualStudio.LanguageServices.CSharp)
// 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.InteropServices;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp.Formatting;
using Microsoft.CodeAnalysis.Options;
using Microsoft.VisualStudio.LanguageServices.Implementation.Options;
 
namespace Microsoft.VisualStudio.LanguageServices.CSharp.Options
{
    [ComVisible(true)]
    public partial class AutomationObject : AbstractAutomationObject
    {
        internal AutomationObject(ILegacyGlobalOptionService legacyGlobalOptions)
            : base(legacyGlobalOptions, LanguageNames.CSharp)
        {
        }
 
        private int GetBooleanOption(Option2<bool> option)
            => GetOption(option) ? 1 : 0;
 
        private int GetBooleanOption(PerLanguageOption2<bool> option)
            => GetOption(option) ? 1 : 0;
 
        private int GetBooleanOption(Option2<NewLineBeforeOpenBracePlacement> option, NewLineBeforeOpenBracePlacement flag)
            => GetOption(option).HasFlag(flag) ? 1 : 0;
 
        private int GetBooleanOption(Option2<SpacePlacementWithinParentheses> option, SpacePlacementWithinParentheses flag)
            => GetOption(option).HasFlag(flag) ? 1 : 0;
 
        private void SetBooleanOption(Option2<bool> option, int value)
            => SetOption(option, value != 0);
 
        private void SetBooleanOption(PerLanguageOption2<bool> option, int value)
            => SetOption(option, value != 0);
 
        private void SetBooleanOption(Option2<NewLineBeforeOpenBracePlacement> option, NewLineBeforeOpenBracePlacement flag, int value)
            => SetOption(option, GetOption(option).WithFlagValue(flag, value != 0));
 
        private void SetBooleanOption(Option2<SpacePlacementWithinParentheses> option, SpacePlacementWithinParentheses flag, int value)
            => SetOption(option, GetOption(option).WithFlagValue(flag, value != 0));
    }
}