pub enum Check {
ExplicitVersions,
CompleteVersionList,
NonEmptyMaps,
UniqueSymbols,
UniqueSymbolsAcrossSubregions,
InBoundsSymbols,
NoOverlap,
FunctionNames(NamingConvention),
DataNames(NamingConvention),
}
Expand description
Checks that can be run on resymgen
YAML symbol tables.
Variants
ExplicitVersions
All addresses and lengths (for both blocks and symbols) must be explicitly listed by version.
CompleteVersionList
Any version used within a version-dependent address or length, or within a subregion version list, must appear in the version list of the parent block.
NonEmptyMaps
YAML maps (key-value pair lists) must have at least one entry.
UniqueSymbols
Symbol and subregion names within a block must be unique.
UniqueSymbolsAcrossSubregions
Symbol names must be unique within a block and all its subregions.
InBoundsSymbols
Symbols and subregions must fall within the address range of the parent block.
NoOverlap
For a given block and version, function symbols must not overlap with each other, and subregions must not overlap with other subregions, function symbols, or data symbols.
FunctionNames(NamingConvention)
Function symbol names must adhere to the specified NamingConvention
.
DataNames(NamingConvention)
Data symbol names must adhere to the specified NamingConvention
.