Deprecate everything in package firrtl #4878
Merged
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.
Previously, we tried to avoid this by deprecating any imports from the firrtl package, but this missed things. Instead, we deprecate every public class, object, and trait.
Also delete the previous attempt using the DeprecateSFCComponent in the compiler plugin. It is now redundant.
I tried to write a [POSIX] sed script to do this but I was really struggling with having it take any number of
abstract|final|case|sealedso instead I asked an AI and it generated a stupid but effective way to do it:deprecate.sed:Naturally the initial version missed a bunch of things so I expanded it till it seemed to work.
This does not get things inside of package objects, and I don't think you can deprecate them, so instead I handled those manually, it was only like 6 things.
Contributor Checklist
docs/src?Type of Improvement
Desired Merge Strategy
Release Notes
If there is anything you cannot do without accessing APIs in
package firrtldirectly, please open an issue on the Chisel Github repository to explain your use case so we can see about adding APIs to Chisel directly.Reviewer Checklist (only modified by reviewer)
3.6.x,5.x, or6.xdepending on impact, API modification or big change:7.0)?Enable auto-merge (squash)and clean up the commit message.Create a merge commit.