v0.19.0
Release created on: 26.12.2022 - 21:11:29
New Features
- Converted many existing symbol classes to new symbol classes deriving from
NameandNewSymbol.
This simplifies the usage of symbols, as names in VHDL are already very close to symbols.
⚠️ NewSymbolwill be renamed toSymbolorSymbolMixinonce all symbols are converted to the new style.LibraryReferenceSymbolPackageReferenceSymbolPackageMembersReferenceSymbolAllPackageMembersReferenceSymbolContextReferenceSymbolEntitySymbolArchitectureSymbolPackageSymbol
- Named entities and new-style symbols now provide a
NormalizedIdentifierproperty. - Implemented more analyze methods on Design:
LinkPackageReferencesLinkContextReferences
- Added
_references,_contextReferencesand_referenced***fields toContextclass. - Added predefined flag groups to
PossibleReference. - Added
_referenced***fields toDesignUnitWithContextMixinclass. - Added
DesignUnitsflag for filtering inIterateDesignUnits.
Changes
- Changed
PossibleReferencefromIntEnumtoFlag. - Merged parameters
libraryReferencesandpackageReferencesof classContextto new parameterreferences. - A package body now doesn't except an identifier for its name, but a PackageSymbol.
- Improved analyze methods:
LinkLibraryReferencesLinkArchitecturesLinkPackageBodies
- Using
...Identifierinstead of...Namein variables and parameters for a name of an entity. This identifier variable is normalized. In exceptions,...Identifieris used to print the original name without normalization. - Improved predefined libraries and packages
std.standard, etc.
Bug Fixes
- Added missing initializer for
IndexedName. - Fixed how flag values are combined:
+→| - Fixed example code in README.