// 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; namespace Microsoft.CodeAnalysis.CSharp { [Flags] internal enum DeclarationModifiers : uint { None = 0, Abstract = 1 << 0, Sealed = 1 << 1, Static = 1 << 2, New = 1 << 3, Public = 1 << 4, Protected = 1 << 5, Internal = 1 << 6, ProtectedInternal = 1 << 7, // the two keywords together are treated as one modifier Private = 1 << 8, PrivateProtected = 1 << 9, // the two keywords together are treated as one modifier ReadOnly = 1 << 10, Const = 1 << 11, Volatile = 1 << 12, Extern = 1 << 13, Partial = 1 << 14, Unsafe = 1 << 15, Fixed = 1 << 16, Virtual = 1 << 17, // used for method binding Override = 1 << 18, // used for method binding Indexer = 1 << 19, // not a real modifier, but used to record that indexer syntax was used. Async = 1 << 20, Ref = 1 << 21, // used only for structs Required = 1 << 22, // Used only for properties and fields Scoped = 1 << 23, File = 1 << 24, // used only for types All = (1 << 25) - 1, // all modifiers Unset = 1 << 25, // used when a modifiers value hasn't yet been computed AccessibilityMask = PrivateProtected | Private | Protected | Internal | ProtectedInternal | Public, } } |