-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Add initial regex source generator #59186
Commits on Sep 22, 2021
-
Adds the new RegexGenerator attribute that's a signal to the regex generator to generate code for the specified regex.
Configuration menu - View commit details
-
Copy full SHA for dd903b0 - Browse repository at this point
Copy the full SHA dd903b0View commit details -
Add a source generator for generating C# code for Regex. This is primarily a port of RegexCompiler.cs, generating C# code instead of MSIL.
Configuration menu - View commit details
-
Copy full SHA for 111a50b - Browse repository at this point
Copy the full SHA 111a50bView commit details -
Adds tests dedicated to the mechanics of the source generator, e.g. that appropriate diagnostics are issued for improper use of RegexGenerator.
Configuration menu - View commit details
-
Copy full SHA for 2380294 - Browse repository at this point
Copy the full SHA 2380294View commit details -
Integrate source generator into many regex tests
Start integrating the source generator into the regex test suite, so that many existing tests also validate the generated code.
Configuration menu - View commit details
-
Copy full SHA for 68fea06 - Browse repository at this point
Copy the full SHA 68fea06View commit details -
Configuration menu - View commit details
-
Copy full SHA for e18adbe - Browse repository at this point
Copy the full SHA e18adbeView commit details -
Improve cachability of source generator
Changing the generator to not collect all regexes together means we don't need to reprocess/regenerate all regexes every time any one of them is changed.
Configuration menu - View commit details
-
Copy full SHA for 857caed - Browse repository at this point
Copy the full SHA 857caedView commit details -
Use closest matching ctor from GetRegexAsync
To better test the appropriate ctor usage.
Configuration menu - View commit details
-
Copy full SHA for 2d4f159 - Browse repository at this point
Copy the full SHA 2d4f159View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8abd7fb - Browse repository at this point
Copy the full SHA 8abd7fbView commit details -
Configuration menu - View commit details
-
Copy full SHA for fba00ee - Browse repository at this point
Copy the full SHA fba00eeView commit details -
Fully qualify types and remove unnecessary $s
Also fixed one place where the IL we were generating wasn't as good as the reflection emit code.
Configuration menu - View commit details
-
Copy full SHA for 3963f7f - Browse repository at this point
Copy the full SHA 3963f7fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c1c1f9 - Browse repository at this point
Copy the full SHA 1c1c1f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 818f844 - Browse repository at this point
Copy the full SHA 818f844View commit details -
Fix TODO about unrolling multi comparisons
Also clean up generated code in a few places to make it more readable / concise.
Configuration menu - View commit details
-
Copy full SHA for 2435db4 - Browse repository at this point
Copy the full SHA 2435db4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 400147d - Browse repository at this point
Copy the full SHA 400147dView commit details -
Configuration menu - View commit details
-
Copy full SHA for a07f142 - Browse repository at this point
Copy the full SHA a07f142View commit details -
Configuration menu - View commit details
-
Copy full SHA for e153b3a - Browse repository at this point
Copy the full SHA e153b3aView commit details