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
Name
andNewSymbol
.
This simplifies the usage of symbols, as names in VHDL are already very close to symbols.
⚠️ NewSymbol
will be renamed toSymbol
orSymbolMixin
once all symbols are converted to the new style.LibraryReferenceSymbol
PackageReferenceSymbol
PackageMembersReferenceSymbol
AllPackageMembersReferenceSymbol
ContextReferenceSymbol
EntitySymbol
ArchitectureSymbol
PackageSymbol
- Named entities and new-style symbols now provide a
NormalizedIdentifier
property. - Implemented more analyze methods on Design:
LinkPackageReferences
LinkContextReferences
- Added
_references
,_contextReferences
and_referenced***
fields toContext
class. - Added predefined flag groups to
PossibleReference
. - Added
_referenced***
fields toDesignUnitWithContextMixin
class. - Added
DesignUnits
flag for filtering inIterateDesignUnits
.
Changes
- Changed
PossibleReference
fromIntEnum
toFlag
. - Merged parameters
libraryReferences
andpackageReferences
of classContext
to new parameterreferences
. - A package body now doesn't except an identifier for its name, but a PackageSymbol.
- Improved analyze methods:
LinkLibraryReferences
LinkArchitectures
LinkPackageBodies
- Using
...Identifier
instead of...Name
in variables and parameters for a name of an entity. This identifier variable is normalized. In exceptions,...Identifier
is 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.