src/RoslynAnalyzers/PublicApiAnalyzers/Microsoft.CodeAnalysis.PublicApiAnalyzers.md
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.
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | True |
| Severity | Warning |
| CodeFix | True |
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.
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | True |
| Severity | Warning |
| CodeFix | False |
Constructor makes its noninheritable base class inheritable, thereby exposing its protected members
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | True |
| Severity | Warning |
| CodeFix | False |
The contents of the public API files are invalid: {0}
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | True |
| Severity | Warning |
| CodeFix | False |
The symbol '{0}' appears more than once in the public API files
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | True |
| Severity | Warning |
| CodeFix | False |
Symbol '{0}' violates the backcompat requirement: 'Do not add multiple overloads with optional parameters'. See '{1}' for details.
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | True |
| Severity | Warning |
| CodeFix | False |
'{0}' violates the backcompat requirement: 'API with optional parameter(s) should have the most parameters amongst its public overloads'. See '{1}' for details.
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | True |
| Severity | Warning |
| CodeFix | False |
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.
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | True |
| Severity | Warning |
| CodeFix | True |
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).
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | True |
| Severity | Warning |
| CodeFix | True |
All public members should use either nullable or non-nullable reference types, but no oblivious reference types.
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | True |
| Severity | Warning |
| CodeFix | False |
Public API file '{0}' is missing or not marked as an additional analyzer file
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | True |
| Severity | Warning |
| CodeFix | False |
Symbol '{0}' is marked as removed but it isn't deleted in source code
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | True |
| Severity | Warning |
| CodeFix | False |
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.
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | False |
| Severity | Warning |
| CodeFix | True |
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.
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | False |
| Severity | Warning |
| CodeFix | False |
The contents of the internal API files are invalid: {0}
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | False |
| Severity | Warning |
| CodeFix | False |
The symbol '{0}' appears more than once in the internal API files
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | False |
| Severity | Warning |
| CodeFix | False |
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.
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | False |
| Severity | Warning |
| CodeFix | True |
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).
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | False |
| Severity | Warning |
| CodeFix | True |
All internal members should use either nullable or non-nullable reference types, but no oblivious reference types.
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | False |
| Severity | Warning |
| CodeFix | False |
Internal API file '{0}' is missing or not marked as an additional analyzer file
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | False |
| Severity | Warning |
| CodeFix | False |
Symbol '{0}' violates the backcompat requirement: 'Do not add multiple overloads with optional parameters'. See '{1}' for details.
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | False |
| Severity | Warning |
| CodeFix | False |
'{0}' violates the backcompat requirement: 'API with optional parameter(s) should have the most parameters amongst its public overloads'. See '{1}' for details.
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | False |
| Severity | Warning |
| CodeFix | False |
Constructor makes its noninheritable base class inheritable, thereby exposing its protected members
| Item | Value |
|---|---|
| Category | ApiDesign |
| Enabled | False |
| Severity | Warning |
| CodeFix | False |