// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Immutable; namespace Microsoft.CodeAnalysis.Tags { public static class WellKnownTags { // accessibility public const string Public = nameof(Public); public const string Protected = nameof(Protected); public const string Private = nameof(Private); public const string Internal = nameof(Internal); // project elements public const string File = nameof(File); public const string Project = nameof(Project); public const string Folder = nameof(Folder); public const string Assembly = nameof(Assembly); // language elements public const string Class = nameof(Class); public const string Constant = nameof(Constant); public const string Delegate = nameof(Delegate); public const string Enum = nameof(Enum); public const string EnumMember = nameof(EnumMember); public const string Event = nameof(Event); public const string ExtensionMethod = nameof(ExtensionMethod); public const string Field = nameof(Field); public const string Interface = nameof(Interface); public const string Intrinsic = nameof(Intrinsic); public const string Keyword = nameof(Keyword); public const string Label = nameof(Label); public const string Local = nameof(Local); public const string Namespace = nameof(Namespace); public const string Method = nameof(Method); public const string Module = nameof(Module); public const string Operator = nameof(Operator); public const string Parameter = nameof(Parameter); public const string Property = nameof(Property); public const string RangeVariable = nameof(RangeVariable); public const string Reference = nameof(Reference); public const string Structure = nameof(Structure); public const string TypeParameter = nameof(TypeParameter); // other public const string Snippet = nameof(Snippet); public const string Error = nameof(Error); public const string Warning = nameof(Warning); internal const string StatusInformation = nameof(StatusInformation); internal const string AddReference = nameof(AddReference); internal const string NuGet = nameof(NuGet); } internal static class WellKnownTagArrays { internal static readonly ImmutableArray Assembly = ImmutableArray.Create(WellKnownTags.Assembly); internal static readonly ImmutableArray ClassPublic = ImmutableArray.Create(WellKnownTags.Class, WellKnownTags.Public); internal static readonly ImmutableArray ClassProtected = ImmutableArray.Create(WellKnownTags.Class, WellKnownTags.Protected); internal static readonly ImmutableArray ClassPrivate = ImmutableArray.Create(WellKnownTags.Class, WellKnownTags.Private); internal static readonly ImmutableArray ClassInternal = ImmutableArray.Create(WellKnownTags.Class, WellKnownTags.Internal); internal static readonly ImmutableArray ConstantPublic = ImmutableArray.Create(WellKnownTags.Constant, WellKnownTags.Public); internal static readonly ImmutableArray ConstantProtected = ImmutableArray.Create(WellKnownTags.Constant, WellKnownTags.Protected); internal static readonly ImmutableArray ConstantPrivate = ImmutableArray.Create(WellKnownTags.Constant, WellKnownTags.Private); internal static readonly ImmutableArray ConstantInternal = ImmutableArray.Create(WellKnownTags.Constant, WellKnownTags.Internal); internal static readonly ImmutableArray DelegatePublic = ImmutableArray.Create(WellKnownTags.Delegate, WellKnownTags.Public); internal static readonly ImmutableArray DelegateProtected = ImmutableArray.Create(WellKnownTags.Delegate, WellKnownTags.Protected); internal static readonly ImmutableArray DelegatePrivate = ImmutableArray.Create(WellKnownTags.Delegate, WellKnownTags.Private); internal static readonly ImmutableArray DelegateInternal = ImmutableArray.Create(WellKnownTags.Delegate, WellKnownTags.Internal); internal static readonly ImmutableArray EnumPublic = ImmutableArray.Create(WellKnownTags.Enum, WellKnownTags.Public); internal static readonly ImmutableArray EnumProtected = ImmutableArray.Create(WellKnownTags.Enum, WellKnownTags.Protected); internal static readonly ImmutableArray EnumPrivate = ImmutableArray.Create(WellKnownTags.Enum, WellKnownTags.Private); internal static readonly ImmutableArray EnumInternal = ImmutableArray.Create(WellKnownTags.Enum, WellKnownTags.Internal); internal static readonly ImmutableArray EnumMemberPublic = ImmutableArray.Create(WellKnownTags.EnumMember, WellKnownTags.Public); internal static readonly ImmutableArray EnumMemberProtected = ImmutableArray.Create(WellKnownTags.EnumMember, WellKnownTags.Protected); internal static readonly ImmutableArray EnumMemberPrivate = ImmutableArray.Create(WellKnownTags.EnumMember, WellKnownTags.Private); internal static readonly ImmutableArray EnumMemberInternal = ImmutableArray.Create(WellKnownTags.EnumMember, WellKnownTags.Internal); internal static readonly ImmutableArray EventPublic = ImmutableArray.Create(WellKnownTags.Event, WellKnownTags.Public); internal static readonly ImmutableArray EventProtected = ImmutableArray.Create(WellKnownTags.Event, WellKnownTags.Protected); internal static readonly ImmutableArray EventPrivate = ImmutableArray.Create(WellKnownTags.Event, WellKnownTags.Private); internal static readonly ImmutableArray EventInternal = ImmutableArray.Create(WellKnownTags.Event, WellKnownTags.Internal); internal static readonly ImmutableArray ExtensionMethodPublic = ImmutableArray.Create(WellKnownTags.ExtensionMethod, WellKnownTags.Public); internal static readonly ImmutableArray ExtensionMethodProtected = ImmutableArray.Create(WellKnownTags.ExtensionMethod, WellKnownTags.Protected); internal static readonly ImmutableArray ExtensionMethodPrivate = ImmutableArray.Create(WellKnownTags.ExtensionMethod, WellKnownTags.Private); internal static readonly ImmutableArray ExtensionMethodInternal = ImmutableArray.Create(WellKnownTags.ExtensionMethod, WellKnownTags.Internal); internal static readonly ImmutableArray FieldPublic = ImmutableArray.Create(WellKnownTags.Field, WellKnownTags.Public); internal static readonly ImmutableArray FieldProtected = ImmutableArray.Create(WellKnownTags.Field, WellKnownTags.Protected); internal static readonly ImmutableArray FieldPrivate = ImmutableArray.Create(WellKnownTags.Field, WellKnownTags.Private); internal static readonly ImmutableArray FieldInternal = ImmutableArray.Create(WellKnownTags.Field, WellKnownTags.Internal); internal static readonly ImmutableArray InterfacePublic = ImmutableArray.Create(WellKnownTags.Interface, WellKnownTags.Public); internal static readonly ImmutableArray InterfaceProtected = ImmutableArray.Create(WellKnownTags.Interface, WellKnownTags.Protected); internal static readonly ImmutableArray InterfacePrivate = ImmutableArray.Create(WellKnownTags.Interface, WellKnownTags.Private); internal static readonly ImmutableArray InterfaceInternal = ImmutableArray.Create(WellKnownTags.Interface, WellKnownTags.Internal); internal static readonly ImmutableArray Intrinsic = ImmutableArray.Create(WellKnownTags.Intrinsic); internal static readonly ImmutableArray Keyword = ImmutableArray.Create(WellKnownTags.Keyword); internal static readonly ImmutableArray Label = ImmutableArray.Create(WellKnownTags.Label); internal static readonly ImmutableArray Local = ImmutableArray.Create(WellKnownTags.Local); internal static readonly ImmutableArray Namespace = ImmutableArray.Create(WellKnownTags.Namespace); internal static readonly ImmutableArray MethodPublic = ImmutableArray.Create(WellKnownTags.Method, WellKnownTags.Public); internal static readonly ImmutableArray MethodProtected = ImmutableArray.Create(WellKnownTags.Method, WellKnownTags.Protected); internal static readonly ImmutableArray MethodPrivate = ImmutableArray.Create(WellKnownTags.Method, WellKnownTags.Private); internal static readonly ImmutableArray MethodInternal = ImmutableArray.Create(WellKnownTags.Method, WellKnownTags.Internal); internal static readonly ImmutableArray ModulePublic = ImmutableArray.Create(WellKnownTags.Module, WellKnownTags.Public); internal static readonly ImmutableArray ModuleProtected = ImmutableArray.Create(WellKnownTags.Module, WellKnownTags.Protected); internal static readonly ImmutableArray ModulePrivate = ImmutableArray.Create(WellKnownTags.Module, WellKnownTags.Private); internal static readonly ImmutableArray ModuleInternal = ImmutableArray.Create(WellKnownTags.Module, WellKnownTags.Internal); internal static readonly ImmutableArray Folder = ImmutableArray.Create(WellKnownTags.Folder); internal static readonly ImmutableArray Operator = ImmutableArray.Create(WellKnownTags.Operator); internal static readonly ImmutableArray Parameter = ImmutableArray.Create(WellKnownTags.Parameter); internal static readonly ImmutableArray PropertyPublic = ImmutableArray.Create(WellKnownTags.Property, WellKnownTags.Public); internal static readonly ImmutableArray PropertyProtected = ImmutableArray.Create(WellKnownTags.Property, WellKnownTags.Protected); internal static readonly ImmutableArray PropertyPrivate = ImmutableArray.Create(WellKnownTags.Property, WellKnownTags.Private); internal static readonly ImmutableArray PropertyInternal = ImmutableArray.Create(WellKnownTags.Property, WellKnownTags.Internal); internal static readonly ImmutableArray RangeVariable = ImmutableArray.Create(WellKnownTags.RangeVariable); internal static readonly ImmutableArray Reference = ImmutableArray.Create(WellKnownTags.Reference); internal static readonly ImmutableArray StructurePublic = ImmutableArray.Create(WellKnownTags.Structure, WellKnownTags.Public); internal static readonly ImmutableArray StructureProtected = ImmutableArray.Create(WellKnownTags.Structure, WellKnownTags.Protected); internal static readonly ImmutableArray StructurePrivate = ImmutableArray.Create(WellKnownTags.Structure, WellKnownTags.Private); internal static readonly ImmutableArray StructureInternal = ImmutableArray.Create(WellKnownTags.Structure, WellKnownTags.Internal); internal static readonly ImmutableArray TypeParameter = ImmutableArray.Create(WellKnownTags.TypeParameter); internal static readonly ImmutableArray Snippet = ImmutableArray.Create(WellKnownTags.Snippet); internal static readonly ImmutableArray Error = ImmutableArray.Create(WellKnownTags.Error); internal static readonly ImmutableArray Warning = ImmutableArray.Create(WellKnownTags.Warning); internal static readonly ImmutableArray StatusInformation = ImmutableArray.Create(WellKnownTags.StatusInformation); internal static readonly ImmutableArray AddReference = ImmutableArray.Create(WellKnownTags.AddReference); internal static readonly ImmutableArray NuGet = ImmutableArray.Create(WellKnownTags.NuGet); internal static readonly ImmutableArray CSharpFile = ImmutableArray.Create(WellKnownTags.File, LanguageNames.CSharp); internal static readonly ImmutableArray VisualBasicFile = ImmutableArray.Create(WellKnownTags.File, LanguageNames.VisualBasic); internal static readonly ImmutableArray CSharpProject = ImmutableArray.Create(WellKnownTags.Project, LanguageNames.CSharp); internal static readonly ImmutableArray VisualBasicProject = ImmutableArray.Create(WellKnownTags.Project, LanguageNames.VisualBasic); } }