Back to Roslyn

Microsoft.CodeAnalysis.PublicApiAnalyzers

src/RoslynAnalyzers/PublicApiAnalyzers/Microsoft.CodeAnalysis.PublicApiAnalyzers.md

11.0.1009.7 KB
Original Source

Microsoft.CodeAnalysis.PublicApiAnalyzers

RS0016: Add public types and members to the declared API

All public types and members should be declared in PublicAPI.txt. This draws attention to API changes in the code reviews and source control history, and helps prevent breaking changes.

ItemValue
CategoryApiDesign
EnabledTrue
SeverityWarning
CodeFixTrue

RS0017: Remove deleted types and members from the declared API

When removing a public type or member, put that entry in PublicAPI.Unshipped.txt with '*REMOVED*' prefix. This draws attention to API changes in the code reviews and source control history, and helps prevent breaking changes.

ItemValue
CategoryApiDesign
EnabledTrue
SeverityWarning
CodeFixFalse

RS0022: Constructor make noninheritable base class inheritable

Constructor makes its noninheritable base class inheritable, thereby exposing its protected members

ItemValue
CategoryApiDesign
EnabledTrue
SeverityWarning
CodeFixFalse

RS0024: The contents of the public API files are invalid

The contents of the public API files are invalid: {0}

ItemValue
CategoryApiDesign
EnabledTrue
SeverityWarning
CodeFixFalse

RS0025: Do not duplicate symbols in public API files

The symbol '{0}' appears more than once in the public API files

ItemValue
CategoryApiDesign
EnabledTrue
SeverityWarning
CodeFixFalse

RS0026: Do not add multiple public overloads with optional parameters

Symbol '{0}' violates the backcompat requirement: 'Do not add multiple overloads with optional parameters'. See '{1}' for details.

ItemValue
CategoryApiDesign
EnabledTrue
SeverityWarning
CodeFixFalse

RS0027: API with optional parameter(s) should have the most parameters amongst its public overloads

'{0}' violates the backcompat requirement: 'API with optional parameter(s) should have the most parameters amongst its public overloads'. See '{1}' for details.

ItemValue
CategoryApiDesign
EnabledTrue
SeverityWarning
CodeFixFalse

RS0036: Annotate nullability of public types and members in the declared API

All public types and members should be declared with nullability annotations in PublicAPI.txt. This draws attention to API nullability changes in the code reviews and source control history, and helps prevent breaking changes.

ItemValue
CategoryApiDesign
EnabledTrue
SeverityWarning
CodeFixTrue

RS0037: Enable tracking of nullability of reference types in the declared API

PublicAPI.txt files should have #nullable enable to track nullability information, or this diagnostic should be suppressed. With nullability enabled, PublicAPI.txt records which types are nullable (suffix ? on type) or non-nullable (suffix !). It also tracks any API that is still using an oblivious reference type (prefix ~ on line).

ItemValue
CategoryApiDesign
EnabledTrue
SeverityWarning
CodeFixTrue

RS0041: Public members should not use oblivious types

All public members should use either nullable or non-nullable reference types, but no oblivious reference types.

ItemValue
CategoryApiDesign
EnabledTrue
SeverityWarning
CodeFixFalse

RS0048: Missing shipped or unshipped public API file

Public API file '{0}' is missing or not marked as an additional analyzer file

ItemValue
CategoryApiDesign
EnabledTrue
SeverityWarning
CodeFixFalse

RS0050: API is marked as removed but it exists in source code

Symbol '{0}' is marked as removed but it isn't deleted in source code

ItemValue
CategoryApiDesign
EnabledTrue
SeverityWarning
CodeFixFalse

RS0051: Add internal types and members to the declared API

All internal types and members should be declared in InternalAPI.txt. This draws attention to API changes in the code reviews and source control history, and helps prevent breaking changes.

ItemValue
CategoryApiDesign
EnabledFalse
SeverityWarning
CodeFixTrue

RS0052: Remove deleted types and members from the declared internal API

When removing a internal type or member, put that entry in InternalAPI.Unshipped.txt with '*REMOVED*' prefix. This draws attention to API changes in the code reviews and source control history, and helps prevent breaking changes.

ItemValue
CategoryApiDesign
EnabledFalse
SeverityWarning
CodeFixFalse

RS0053: The contents of the internal API files are invalid

The contents of the internal API files are invalid: {0}

ItemValue
CategoryApiDesign
EnabledFalse
SeverityWarning
CodeFixFalse

RS0054: Do not duplicate symbols in internal API files

The symbol '{0}' appears more than once in the internal API files

ItemValue
CategoryApiDesign
EnabledFalse
SeverityWarning
CodeFixFalse

RS0055: Annotate nullability of internal types and members in the declared API

All internal types and members should be declared with nullability annotations in InternalAPI.txt. This draws attention to API nullability changes in the code reviews and source control history, and helps prevent breaking changes.

ItemValue
CategoryApiDesign
EnabledFalse
SeverityWarning
CodeFixTrue

RS0056: Enable tracking of nullability of reference types in the declared API

InternalAPI.txt files should have #nullable enable to track nullability information, or this diagnostic should be suppressed. With nullability enabled, InternalAPI.txt records which types are nullable (suffix ? on type) or non-nullable (suffix !). It also tracks any API that is still using an oblivious reference type (prefix ~ on line).

ItemValue
CategoryApiDesign
EnabledFalse
SeverityWarning
CodeFixTrue

RS0057: Internal members should not use oblivious types

All internal members should use either nullable or non-nullable reference types, but no oblivious reference types.

ItemValue
CategoryApiDesign
EnabledFalse
SeverityWarning
CodeFixFalse

RS0058: Missing shipped or unshipped internal API file

Internal API file '{0}' is missing or not marked as an additional analyzer file

ItemValue
CategoryApiDesign
EnabledFalse
SeverityWarning
CodeFixFalse

RS0059: Do not add multiple public overloads with optional parameters

Symbol '{0}' violates the backcompat requirement: 'Do not add multiple overloads with optional parameters'. See '{1}' for details.

ItemValue
CategoryApiDesign
EnabledFalse
SeverityWarning
CodeFixFalse

RS0060: API with optional parameter(s) should have the most parameters amongst its public overloads

'{0}' violates the backcompat requirement: 'API with optional parameter(s) should have the most parameters amongst its public overloads'. See '{1}' for details.

ItemValue
CategoryApiDesign
EnabledFalse
SeverityWarning
CodeFixFalse

RS0061: Constructor make noninheritable base class inheritable

Constructor makes its noninheritable base class inheritable, thereby exposing its protected members

ItemValue
CategoryApiDesign
EnabledFalse
SeverityWarning
CodeFixFalse