[VAST] ExternPackageType
& tighten space invariants.
#1720
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds an
ExternPackageType
to refer to types defined in other packages (that we do not know the underlying bit width for or have a definition to refer to in the currentVerilogFile
).In the process found it was hard to reason about the invariants of
Emit()
giving back associated spaces for types andEmitWithIdentifier()
and similar -- reworked that so all Emit functionality gives back a value with no whitespace to strip so the caller knows what to expect. Previously it was confusing/confused because DataKind could be empty string and DataType could also be empty string in various cases. Case in point this fixed an error in the test where there were two spaces after theoutput
keyword.Also adds a bunch of tests for constructs we're about to use in stitching just to ensure they were all possible.