Skip to content

Latest commit

 

History

History
62 lines (56 loc) · 4.03 KB

RULES.md

File metadata and controls

62 lines (56 loc) · 4.03 KB

SatorImaging.StaticMemberAnalyzer.Analysis

Auto-generated by DocsGen, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Resource file: ../StaticMemberAnalyzer.Analysis/Resources.resx
Resource suffix: _Title _Description __MD_TITLE__

Static Field Analysis

ID Diagnostic Description
SMA0001 Reading Uninitialized Value Static field declaration order is wrong.
SMA0002 Cross Referencing across Type Trying to read value from static field declared in cross-referencing type.
SMA0003 Static Member Declared in Another File Initialization order of partial type files is undefined in language spec.
SMA0004 Late Declaration Static field is read before initialize.

TSelf Type Arg Analysis

ID Diagnostic Description
SMA0010 TSelf is Not Self TSelf type arg should be pointing itself.
SMA0011 TSelf is Not Self or Base TSelf type arg should be pointing itself or its base type.
SMA0012 TSelf is Not Self or Derived TSelf type arg should be pointing itself or its derived type.
SMA0015 TSelf Constraint is Not Self TSelf type constraint is not pointing itself.

Enum Type Analysis

ID Diagnostic Description
SMA0020 Unchecked Cast to Enum Type Unchecked value conversion to enum type.
SMA0021 Cast from Enum Type to Other Casting enum type to other.
SMA0022 Unchecked Cast to Generic Enum Type Unchecked value conversion to generic enum type.
SMA0023 Cast from Generic Enum Type to Other Casting generic enum type to other.
SMA0024 Enum to String Trying to convert enum value to string.
SMA0025 Enum System Method Calling enum system method.
SMA0026 Enum Obfuscation Enum obfuscation should have controlled.
SMA0027 Unusual Enum Definition Enum w/o Flags attribute should be defined as usual.
SMA0028 Invalid Enum-like Pattern Enum-like pattern implementation is not complete.

Struct Analysis

ID Diagnostic Description
SMA0030 Invalid Struct Constructor Constructor has declared explicitly so should not use parameter-less one.

Disposable Analysis

ID Diagnostic Description
SMA0040 Missing Using Statement using statement should be used for instance that has public Dispose or DisposeAsync method.

Annotating and Underling

ID Diagnostic Description
SMA9000 Underlining on Identifier Symbols Draw underline in IDE.
SMA9001 Underlining on Local Variables Draw underline in IDE.
SMA9002 Underlining on Method or Lambda Parameters Draw underline in IDE.
SMA9010 Underlining on Declarations Draw underline in IDE.
SMA9015 Underlining only on Designated Type Draw underline in IDE.
SMA9020 Underlining at Line Head Draw underline in IDE.
SMA9021 Underlining at Line Leading Draw underline in IDE.
SMA9022 Underlining on Identifier Draw underline in IDE.
SMA9023 Underlining at Line End Draw underline in IDE.
SMA9100 Underlining as Warning Draw underline in IDE.