-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Improve codegen for concatenation of string and char
#70971
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
Closed
Closed
Changes from all commits
Commits
Show all changes
37 commits
Select commit
Hold shift + click to select a range
1e72311
Move calling `ToString` on chars to a later step
DoctorKrolic 8dada13
Optimize for 2 arguments
DoctorKrolic f64f3e2
Optimize for 3 arguments
DoctorKrolic e5f44d7
Fix nullability warnings
DoctorKrolic 6a37e8a
Add assert
DoctorKrolic cde7014
Optimize for 4 arguments
DoctorKrolic c9f6901
Simplify existing tests
DoctorKrolic 41ee64d
Add test with 5 arguments
DoctorKrolic 22f4003
Adjust well-known members tests
DoctorKrolic a1f6d0f
Correct codegen when value cannot be passed by reference
DoctorKrolic e49f5e8
Run verification only on runtime that actually supports it
DoctorKrolic 2394019
Tweak input a little bit
DoctorKrolic b779f40
Semicolon
DoctorKrolic 1040b0c
Doc & name
DoctorKrolic 011de2e
Simplify
DoctorKrolic bfc19db
Put comments inside blocks
DoctorKrolic b6af8cb
Rename
DoctorKrolic efd6e93
Simplify
DoctorKrolic 02e5618
Fix
DoctorKrolic fdf6877
Renames
DoctorKrolic 17a86ed
Add side effect tests
DoctorKrolic b9d19ca
Left over renames
DoctorKrolic 5e887db
Scope temp locals to the whole `Concat` call
DoctorKrolic 09f41e0
Directly pass by reference only none-ref parameters and locals
DoctorKrolic b8c1e08
Remove false assert
DoctorKrolic f84c969
Add pattern condition
DoctorKrolic 0ba2071
Merge branch 'dotnet:main' into concat-string-char
DoctorKrolic 67b4ddf
Move concat tests
DoctorKrolic 688d98b
Rename
DoctorKrolic a35011e
Use explicit types
DoctorKrolic 01ede3a
Named arguments
DoctorKrolic 5df27cc
Capacity work
DoctorKrolic fe514d5
Assert and comment
DoctorKrolic 75b4e30
Use sequence helpers
DoctorKrolic 12aaf61
Direct references aren't save
DoctorKrolic 594010b
Revert
DoctorKrolic 227a687
Revert
DoctorKrolic File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
425 changes: 366 additions & 59 deletions
425
src/Compilers/CSharp/Portable/Lowering/LocalRewriter/LocalRewriter_StringConcat.cs
Large diffs are not rendered by default.
Oops, something went wrong.
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.