Fast path when evaluating string.PadLeft(int, char)#5226
Merged
Forgind merged 1 commit intodotnet:masterfrom Apr 7, 2020
Merged
Fast path when evaluating string.PadLeft(int, char)#5226Forgind merged 1 commit intodotnet:masterfrom
Forgind merged 1 commit intodotnet:masterfrom
Conversation
The previous fast path was only expecting the args of int and string, but was actually given int and char. So the fast path was not taken for expressions such as: $(VersionSuffixBuildOfTheDay.PadLeft(2, $([System.Convert]::ToChar(`0`)))) Try to interpret int and char as int and string, this ensures the fast path is taken. This fixes a first-chance MissingMethodException.
cdmihai
reviewed
Apr 3, 2020
| } | ||
|
|
||
| arg1 = args[1] as string; | ||
| if (arg1 == null && args[1] is char ch) |
Contributor
There was a problem hiding this comment.
not affecting this PR: At some point somebody has to extract all this C# interpretation code outside of Expander.cs and into its own class :)
Member
Author
There was a problem hiding this comment.
At some point somebody should rewrite the Evaluator and kill this class altogether ;)
Contributor
There was a problem hiding this comment.
They mythical "some point" when everything is made nice :)
cdmihai
approved these changes
Apr 3, 2020
rainersigwald
approved these changes
Apr 3, 2020
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The previous fast path was only expecting the args of int and string, but was actually given int and char. So the fast path was not taken for expressions such as:
0))))Try to interpret int and char as int and string, this ensures the fast path is taken.
This fixes a first-chance MissingMethodException.