-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Fix breaking change in Add-Type #5306
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix breaking change in Add-Type #5306
Conversation
| String.Equals(ParameterSetName, "FromLiteralPath", StringComparison.OrdinalIgnoreCase) | ||
| ) | ||
| { | ||
| sourceCode = ""; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't we want to use the updated StringBuilderCode here to get the perf benefit? Also there is duplicate code that could be handled with base class helper methods. But I believe you are looking to refactor this code so it may not be worth changing now just to be refactored later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe the method is a candidate to remove. I've tried add [Obsolete] but it don't work. I think we could document the method and perhaps the class as deprecated - I'll wonder if anybody use it. Another argument for removing this code is that the code is the remainder of the CodeDom.
So I split the code (no helper methods) to easily remove the deprecated code later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the breaking changes to AddTypeCommandBase is most likely safe. I searched on Github and don't see the type AddTypeCommandBase gets used except AddType.
Given that, would it be OK that we just keep the breaking change made in #5243? Maybe you want to do further cleanup, such as completely remove the base type, in your subsequent work on Add-Type.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see the need for AddTypeCommandBase. If the team approves, I'll be happy to remove that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm merging this PR. We can loop in the powershell committee in your subsequent add-type refactoring PR (or the issue for that work).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The request is in #5158.
| String.Equals(ParameterSetName, "FromLiteralPath", StringComparison.OrdinalIgnoreCase) | ||
| ) | ||
| { | ||
| sourceCode = ""; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok.
Remove a breaking change we made in #5243
Because AddtypeCommandBase.EndProcessing() is a public method we revert changes in it.