Пример #1
0
 internal static string?GetMessageTemplate(this PdbDiagnosticId id)
 {
     return(id switch
     {
         PdbDiagnosticId.None => null,
         PdbDiagnosticId.MethodAssociatedWithLocalScopeHasNoBody => ConverterResources.MethodAssociatedWithLocalScopeHasNoBody,
         PdbDiagnosticId.LocalConstantNameTooLong => ConverterResources.LocalConstantNameTooLong,
         PdbDiagnosticId.LocalVariableNameTooLong => ConverterResources.LocalVariableNameTooLong,
         PdbDiagnosticId.MethodContainingLocalVariablesHasNoLocalSignature => ConverterResources.MethodContainingLocalVariablesHasNoLocalSignature,
         PdbDiagnosticId.LocalScopeRangesNestingIsInvalid => ConverterResources.LocalScopeRangesNestingIsInvalid,
         PdbDiagnosticId.UnsupportedImportType => ConverterResources.UnsupportedImportType,
         PdbDiagnosticId.UndefinedAssemblyReferenceAlias => ConverterResources.UndefinedAssemblyReferenceAlias,
         PdbDiagnosticId.UnknownImportDefinitionKind => ConverterResources.UnknownImportDefinitionKind,
         PdbDiagnosticId.InvalidStateMachineTypeName => ConverterResources.InvalidStateMachineTypeName,
         PdbDiagnosticId.BothStateMachineTypeNameAndImportsSpecified => ConverterResources.BothStateMachineTypeNameAndImportsSpecified,
         PdbDiagnosticId.DuplicateDynamicLocals => ConverterResources.DuplicateDynamicLocals,
         PdbDiagnosticId.DuplicateTupleElementNamesForSlot => ConverterResources.DuplicateTupleElementNamesForSlot,
         PdbDiagnosticId.DuplicateTupleElementNamesForConstant => ConverterResources.DuplicateTupleElementNamesForConstant,
         PdbDiagnosticId.InvalidImportStringFormat => ConverterResources.InvalidImportStringFormat,
         PdbDiagnosticId.InvalidEntryPointToken => ConverterResources.InvalidEntryPointToken,
         PdbDiagnosticId.InvalidScopeILOffsetRange => ConverterResources.InvalidScopeILOffsetRange,
         PdbDiagnosticId.InvalidLocalConstantData => ConverterResources.InvalidLocalConstantData,
         PdbDiagnosticId.InvalidLocalConstantSignature => ConverterResources.InvalidLocalConstantSignature,
         PdbDiagnosticId.InvalidLocalScope => ConverterResources.InvalidLocalScope,
         PdbDiagnosticId.InvalidSequencePointDocument => ConverterResources.InvalidSequencePointDocument,
         PdbDiagnosticId.UnmappedDocumentName => ConverterResources.UnmappedDocumentName,
         PdbDiagnosticId.UrlSchemeIsNotHttp => ConverterResources.UrlSchemeIsNotHttp,
         PdbDiagnosticId.NoSupportedUrlsFoundInSourceLink => ConverterResources.NoSupportedUrlsFoundInSourceLink,
         PdbDiagnosticId.InvalidSourceLinkData => ConverterResources.InvalidSourceLinkData,
         PdbDiagnosticId.InvalidSourceServerData => ConverterResources.InvalidSourceServerData,
         PdbDiagnosticId.InvalidEmbeddedSource => ConverterResources.InvalidEmbeddedSource,
         PdbDiagnosticId.InconsistentStateMachineMethodMapping => ConverterResources.InconsistentStateMachineMethodMapping,
         PdbDiagnosticId.InvalidSourceLink => ConverterResources.InvalidSourceLink,
         PdbDiagnosticId.MalformedSourceLinkUrl => ConverterResources.MalformedSourceLinkUrl,
         PdbDiagnosticId.SourceChecksumAlgorithmSizeMismatch => ConverterResources.SourceChecksumAlgorithmSizeMismatch,
         _ => throw ExceptionUtilities.UnexpectedValue(id),
     });
Пример #2
0
        internal static string GetMessageTemplate(this PdbDiagnosticId id)
        {
            switch (id)
            {
            case PdbDiagnosticId.None:
                return(null);

            case PdbDiagnosticId.MethodAssociatedWithLocalScopeHasNoBody: return(ConverterResources.MethodAssociatedWithLocalScopeHasNoBody);

            case PdbDiagnosticId.LocalConstantNameTooLong: return(ConverterResources.LocalConstantNameTooLong);

            case PdbDiagnosticId.LocalVariableNameTooLong: return(ConverterResources.LocalVariableNameTooLong);

            case PdbDiagnosticId.MethodContainingLocalVariablesHasNoLocalSignature: return(ConverterResources.MethodContainingLocalVariablesHasNoLocalSignature);

            case PdbDiagnosticId.LocalScopeRangesNestingIsInvalid: return(ConverterResources.LocalScopeRangesNestingIsInvalid);

            case PdbDiagnosticId.UnsupportedImportType: return(ConverterResources.UnsupportedImportType);

            case PdbDiagnosticId.UndefinedAssemblyReferenceAlias: return(ConverterResources.UndefinedAssemblyReferenceAlias);

            case PdbDiagnosticId.UnknownImportDefinitionKind: return(ConverterResources.UnknownImportDefinitionKind);

            case PdbDiagnosticId.InvalidStateMachineTypeName: return(ConverterResources.InvalidStateMachineTypeName);

            case PdbDiagnosticId.BothStateMachineTypeNameAndImportsSpecified: return(ConverterResources.BothStateMachineTypeNameAndImportsSpecified);

            case PdbDiagnosticId.DuplicateDynamicLocals: return(ConverterResources.DuplicateDynamicLocals);

            case PdbDiagnosticId.DuplicateTupleElementNamesForSlot: return(ConverterResources.DuplicateTupleElementNamesForSlot);

            case PdbDiagnosticId.DuplicateTupleElementNamesForConstant: return(ConverterResources.DuplicateTupleElementNamesForConstant);

            case PdbDiagnosticId.InvalidImportStringFormat: return(ConverterResources.InvalidImportStringFormat);

            case PdbDiagnosticId.InvalidEntryPointToken: return(ConverterResources.InvalidEntryPointToken);

            case PdbDiagnosticId.InvalidScopeILOffsetRange: return(ConverterResources.InvalidScopeILOffsetRange);

            case PdbDiagnosticId.InvalidLocalConstantData: return(ConverterResources.InvalidLocalConstantData);

            case PdbDiagnosticId.InvalidLocalConstantSignature: return(ConverterResources.InvalidLocalConstantSignature);

            case PdbDiagnosticId.InvalidLocalScope: return(ConverterResources.InvalidLocalScope);

            case PdbDiagnosticId.InvalidSequencePointDocument: return(ConverterResources.InvalidSequencePointDocument);

            case PdbDiagnosticId.UnmappedDocumentName: return(ConverterResources.UnmappedDocumentName);

            case PdbDiagnosticId.UrlSchemeIsNotHttp: return(ConverterResources.UrlSchemeIsNotHttp);

            case PdbDiagnosticId.NoSupportedUrlsFoundInSourceLink: return(ConverterResources.NoSupportedUrlsFoundInSourceLink);

            case PdbDiagnosticId.InvalidSourceLinkData: return(ConverterResources.InvalidSourceLinkData);

            case PdbDiagnosticId.InvalidSourceServerData: return(ConverterResources.InvalidSourceServerData);

            case PdbDiagnosticId.InvalidEmbeddedSource: return(ConverterResources.InvalidEmbeddedSource);

            case PdbDiagnosticId.InconsistentStateMachineMethodMapping: return(ConverterResources.InconsistentStateMachineMethodMapping);

            case PdbDiagnosticId.InvalidSourceLink: return(ConverterResources.InvalidSourceLink);

            case PdbDiagnosticId.MalformedSourceLinkUrl: return(ConverterResources.MalformedSourceLinkUrl);

            case PdbDiagnosticId.SourceChecksumAlgorithmSizeMismatch: return(ConverterResources.SourceChecksumAlgorithmSizeMismatch);

            default:
                throw ExceptionUtilities.UnexpectedValue(id);
            }
        }
Пример #3
0
 public static bool IsValid(this PdbDiagnosticId id)
 => id >= 0 && id <= PdbDiagnosticId.SourceChecksumAlgorithmSizeMismatch;
 internal PdbDiagnostic(PdbDiagnosticId id, int token, object[] args)
 {
     Id    = id;
     Token = token;
     Args  = args;
 }
 private void ReportDiagnostic(PdbDiagnosticId id, int token, params object[] args)
 {
     _diagnosticReporterOpt?.Invoke(new PdbDiagnostic(id, token, args));
 }