A (typically fast) alist associating names to warnings.
A report card associates vl-reportcardkey-ps to lists
of warnings. Typically the keys are the names of top-level design
elements (modules, packages, interfaces, ...). However, as a special case for
warnings about top-level design elements that aren't in any container, e.g.,
top-level parameters or functions, we also allow :design as a key.
There are two common uses for report cards.
- When transforming modules, we sometimes want to add a warning to some other
module that is "far away," i.e., not the module we're currently rewriting.
It would be somewhat awkward to iteratively update the vl-modulelist-p,
so instead we might create a report card that associates target module names
with the new warnings we want to add to them. The function vl-apply-reportcard can then be used to add these warnings to a design.
- Report cards can be useful when we want to print the warnings for a bunch
of modules. Depending on the context, we might want to associate either the
elaborated (unparameterized) names of modules, or their original names, to
their related warnings.
- Recognizer for vl-reportcard.
- Update a design to include any warnings from a vl-reportcard-p.
- (vl-reportcard-fix x) is an fty alist fixing function that follows the fix-keys strategy.
- Add a list of warnings to a vl-reportcard-p.
- Constructs a vl-reportcard-p for a design.
- Constructs a vl-reportcard-p for a design in terms of original
design element names.
- Add a single warning to a vl-reportcard-p.
- Convert any warnings about invalid keys into warnings about the top-level design.
- Shrink a vl-reportcard-p and cleans all of its warning lists
- Filter a reportcard to only remove the warnings of certain types.
- Basic equivalence relation for vl-reportcard structures.
- Pretty-print a vl-reportcard-p.
- Filter a reportcard to only keep the warnings of certain types.
- Pretty-print a vl-reportcard-p into a string.
- Collect all types of warnings found in a reportcard.