WellKnownTags.cs 12.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
// 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<string> Assembly = ImmutableArray.Create(WellKnownTags.Assembly);
        internal static readonly ImmutableArray<string> ClassPublic = ImmutableArray.Create(WellKnownTags.Class, WellKnownTags.Public);
        internal static readonly ImmutableArray<string> ClassProtected = ImmutableArray.Create(WellKnownTags.Class, WellKnownTags.Protected);
        internal static readonly ImmutableArray<string> ClassPrivate = ImmutableArray.Create(WellKnownTags.Class, WellKnownTags.Private);
        internal static readonly ImmutableArray<string> ClassInternal = ImmutableArray.Create(WellKnownTags.Class, WellKnownTags.Internal);
        internal static readonly ImmutableArray<string> ConstantPublic = ImmutableArray.Create(WellKnownTags.Constant, WellKnownTags.Public);
        internal static readonly ImmutableArray<string> ConstantProtected = ImmutableArray.Create(WellKnownTags.Constant, WellKnownTags.Protected);
        internal static readonly ImmutableArray<string> ConstantPrivate = ImmutableArray.Create(WellKnownTags.Constant, WellKnownTags.Private);
        internal static readonly ImmutableArray<string> ConstantInternal = ImmutableArray.Create(WellKnownTags.Constant, WellKnownTags.Internal);
        internal static readonly ImmutableArray<string> DelegatePublic = ImmutableArray.Create(WellKnownTags.Delegate, WellKnownTags.Public);
        internal static readonly ImmutableArray<string> DelegateProtected = ImmutableArray.Create(WellKnownTags.Delegate, WellKnownTags.Protected);
        internal static readonly ImmutableArray<string> DelegatePrivate = ImmutableArray.Create(WellKnownTags.Delegate, WellKnownTags.Private);
        internal static readonly ImmutableArray<string> DelegateInternal = ImmutableArray.Create(WellKnownTags.Delegate, WellKnownTags.Internal);
        internal static readonly ImmutableArray<string> EnumPublic = ImmutableArray.Create(WellKnownTags.Enum, WellKnownTags.Public);
73
        internal static readonly ImmutableArray<string> EnumProtected = ImmutableArray.Create(WellKnownTags.Enum, WellKnownTags.Protected);
74 75
        internal static readonly ImmutableArray<string> EnumPrivate = ImmutableArray.Create(WellKnownTags.Enum, WellKnownTags.Private);
        internal static readonly ImmutableArray<string> EnumInternal = ImmutableArray.Create(WellKnownTags.Enum, WellKnownTags.Internal);
76 77 78 79
        internal static readonly ImmutableArray<string> EnumMemberPublic = ImmutableArray.Create(WellKnownTags.EnumMember, WellKnownTags.Public);
        internal static readonly ImmutableArray<string> EnumMemberProtected = ImmutableArray.Create(WellKnownTags.EnumMember, WellKnownTags.Protected);
        internal static readonly ImmutableArray<string> EnumMemberPrivate = ImmutableArray.Create(WellKnownTags.EnumMember, WellKnownTags.Private);
        internal static readonly ImmutableArray<string> EnumMemberInternal = ImmutableArray.Create(WellKnownTags.EnumMember, WellKnownTags.Internal);
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
        internal static readonly ImmutableArray<string> EventPublic = ImmutableArray.Create(WellKnownTags.Event, WellKnownTags.Public);
        internal static readonly ImmutableArray<string> EventProtected = ImmutableArray.Create(WellKnownTags.Event, WellKnownTags.Protected);
        internal static readonly ImmutableArray<string> EventPrivate = ImmutableArray.Create(WellKnownTags.Event, WellKnownTags.Private);
        internal static readonly ImmutableArray<string> EventInternal = ImmutableArray.Create(WellKnownTags.Event, WellKnownTags.Internal);
        internal static readonly ImmutableArray<string> ExtensionMethodPublic = ImmutableArray.Create(WellKnownTags.ExtensionMethod, WellKnownTags.Public);
        internal static readonly ImmutableArray<string> ExtensionMethodProtected = ImmutableArray.Create(WellKnownTags.ExtensionMethod, WellKnownTags.Protected);
        internal static readonly ImmutableArray<string> ExtensionMethodPrivate = ImmutableArray.Create(WellKnownTags.ExtensionMethod, WellKnownTags.Private);
        internal static readonly ImmutableArray<string> ExtensionMethodInternal = ImmutableArray.Create(WellKnownTags.ExtensionMethod, WellKnownTags.Internal);
        internal static readonly ImmutableArray<string> FieldPublic = ImmutableArray.Create(WellKnownTags.Field, WellKnownTags.Public);
        internal static readonly ImmutableArray<string> FieldProtected = ImmutableArray.Create(WellKnownTags.Field, WellKnownTags.Protected);
        internal static readonly ImmutableArray<string> FieldPrivate = ImmutableArray.Create(WellKnownTags.Field, WellKnownTags.Private);
        internal static readonly ImmutableArray<string> FieldInternal = ImmutableArray.Create(WellKnownTags.Field, WellKnownTags.Internal);
        internal static readonly ImmutableArray<string> InterfacePublic = ImmutableArray.Create(WellKnownTags.Interface, WellKnownTags.Public);
        internal static readonly ImmutableArray<string> InterfaceProtected = ImmutableArray.Create(WellKnownTags.Interface, WellKnownTags.Protected);
        internal static readonly ImmutableArray<string> InterfacePrivate = ImmutableArray.Create(WellKnownTags.Interface, WellKnownTags.Private);
        internal static readonly ImmutableArray<string> InterfaceInternal = ImmutableArray.Create(WellKnownTags.Interface, WellKnownTags.Internal);
        internal static readonly ImmutableArray<string> Intrinsic = ImmutableArray.Create(WellKnownTags.Intrinsic);
        internal static readonly ImmutableArray<string> Keyword = ImmutableArray.Create(WellKnownTags.Keyword);
        internal static readonly ImmutableArray<string> Label = ImmutableArray.Create(WellKnownTags.Label);
        internal static readonly ImmutableArray<string> Local = ImmutableArray.Create(WellKnownTags.Local);
        internal static readonly ImmutableArray<string> Namespace = ImmutableArray.Create(WellKnownTags.Namespace);
        internal static readonly ImmutableArray<string> MethodPublic = ImmutableArray.Create(WellKnownTags.Method, WellKnownTags.Public);
        internal static readonly ImmutableArray<string> MethodProtected = ImmutableArray.Create(WellKnownTags.Method, WellKnownTags.Protected);
        internal static readonly ImmutableArray<string> MethodPrivate = ImmutableArray.Create(WellKnownTags.Method, WellKnownTags.Private);
        internal static readonly ImmutableArray<string> MethodInternal = ImmutableArray.Create(WellKnownTags.Method, WellKnownTags.Internal);
        internal static readonly ImmutableArray<string> ModulePublic = ImmutableArray.Create(WellKnownTags.Module, WellKnownTags.Public);
        internal static readonly ImmutableArray<string> ModuleProtected = ImmutableArray.Create(WellKnownTags.Module, WellKnownTags.Protected);
        internal static readonly ImmutableArray<string> ModulePrivate = ImmutableArray.Create(WellKnownTags.Module, WellKnownTags.Private);
        internal static readonly ImmutableArray<string> ModuleInternal = ImmutableArray.Create(WellKnownTags.Module, WellKnownTags.Internal);
        internal static readonly ImmutableArray<string> Folder = ImmutableArray.Create(WellKnownTags.Folder);
        internal static readonly ImmutableArray<string> Operator = ImmutableArray.Create(WellKnownTags.Operator);
        internal static readonly ImmutableArray<string> Parameter = ImmutableArray.Create(WellKnownTags.Parameter);
        internal static readonly ImmutableArray<string> PropertyPublic = ImmutableArray.Create(WellKnownTags.Property, WellKnownTags.Public);
        internal static readonly ImmutableArray<string> PropertyProtected = ImmutableArray.Create(WellKnownTags.Property, WellKnownTags.Protected);
        internal static readonly ImmutableArray<string> PropertyPrivate = ImmutableArray.Create(WellKnownTags.Property, WellKnownTags.Private);
        internal static readonly ImmutableArray<string> PropertyInternal = ImmutableArray.Create(WellKnownTags.Property, WellKnownTags.Internal);
        internal static readonly ImmutableArray<string> RangeVariable = ImmutableArray.Create(WellKnownTags.RangeVariable);
        internal static readonly ImmutableArray<string> Reference = ImmutableArray.Create(WellKnownTags.Reference);
        internal static readonly ImmutableArray<string> StructurePublic = ImmutableArray.Create(WellKnownTags.Structure, WellKnownTags.Public);
        internal static readonly ImmutableArray<string> StructureProtected = ImmutableArray.Create(WellKnownTags.Structure, WellKnownTags.Protected);
        internal static readonly ImmutableArray<string> StructurePrivate = ImmutableArray.Create(WellKnownTags.Structure, WellKnownTags.Private);
        internal static readonly ImmutableArray<string> StructureInternal = ImmutableArray.Create(WellKnownTags.Structure, WellKnownTags.Internal);
        internal static readonly ImmutableArray<string> TypeParameter = ImmutableArray.Create(WellKnownTags.TypeParameter);
        internal static readonly ImmutableArray<string> Snippet = ImmutableArray.Create(WellKnownTags.Snippet);

        internal static readonly ImmutableArray<string> Error = ImmutableArray.Create(WellKnownTags.Error);
        internal static readonly ImmutableArray<string> Warning = ImmutableArray.Create(WellKnownTags.Warning);
        internal static readonly ImmutableArray<string> StatusInformation = ImmutableArray.Create(WellKnownTags.StatusInformation);

        internal static readonly ImmutableArray<string> AddReference = ImmutableArray.Create(WellKnownTags.AddReference);
        internal static readonly ImmutableArray<string> NuGet = ImmutableArray.Create(WellKnownTags.NuGet);

        internal static readonly ImmutableArray<string> CSharpFile = ImmutableArray.Create(WellKnownTags.File, LanguageNames.CSharp);
        internal static readonly ImmutableArray<string> VisualBasicFile = ImmutableArray.Create(WellKnownTags.File, LanguageNames.VisualBasic);

        internal static readonly ImmutableArray<string> CSharpProject = ImmutableArray.Create(WellKnownTags.Project, LanguageNames.CSharp);
        internal static readonly ImmutableArray<string> VisualBasicProject = ImmutableArray.Create(WellKnownTags.Project, LanguageNames.VisualBasic);
    }
}