Skip to content

v0.19.0

Compare
Choose a tag to compare
@github-actions github-actions released this 26 Dec 21:11
81ab717

Release created on: 26.12.2022 - 21:11:29

New Features

  • Converted many existing symbol classes to new symbol classes deriving from Name and NewSymbol.
    This simplifies the usage of symbols, as names in VHDL are already very close to symbols.
    ⚠️ NewSymbol will be renamed to Symbol or SymbolMixin 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 to Context class.
  • Added predefined flag groups to PossibleReference.
  • Added _referenced*** fields to DesignUnitWithContextMixin class.
  • Added DesignUnits flag for filtering in IterateDesignUnits.

Changes

  • Changed PossibleReference from IntEnum to Flag.
  • Merged parameters libraryReferencesand packageReferences of class Context to new parameter references.
  • 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.