public ManagedHotReloadAvailability(
     ManagedHotReloadAvailabilityStatus status,
     string?localizedMessage = null)
 {
     Status           = status;
     LocalizedMessage = localizedMessage;
 }
        internal static DiagnosticDescriptor GetModuleDiagnosticDescriptor(ManagedHotReloadAvailabilityStatus status)
        {
            lock (s_moduleDiagnosticDescriptorsGuard)
            {
                s_lazyModuleDiagnosticDescriptors ??= new Dictionary <ManagedHotReloadAvailabilityStatus, DiagnosticDescriptor>();

                if (!s_lazyModuleDiagnosticDescriptors.TryGetValue(status, out var descriptor))
                {
                    s_lazyModuleDiagnosticDescriptors.Add(status, descriptor = new DiagnosticDescriptor(
                                                              $"ENC{ModuleDiagnosticBaseId + (int)status:D4}",
                                                              s_encLocString,
                                                              s_encDisallowedByProjectLocString,
                                                              DiagnosticCategory.EditAndContinue,
                                                              DiagnosticSeverity.Error,
                                                              isEnabledByDefault: true,
                                                              customTags: DiagnosticCustomTags.EditAndContinue));
                }

                return(descriptor);
            }
        }