Create shared WellKnownTypes enum#2692
Merged
jtschuster merged 9 commits intodotnet:mainfrom Mar 18, 2022
Merged
Conversation
sbomer
approved these changes
Mar 18, 2022
vitek-karas
approved these changes
Mar 18, 2022
Member
vitek-karas
left a comment
There was a problem hiding this comment.
Looks good - I'd like to employ the MetadataType as well, but that can be done in a subsequent change.
Comment on lines
+364
to
+365
| var (@namespace, name) = type.GetNamespaceAndName (); | ||
| return tr.IsTypeOf (@namespace, name); |
Member
There was a problem hiding this comment.
Cecil has a similar concept to SpecialType - it's called MetadataType and through it one can detect primitive types (and couple of other cases) faster than string compares.
For example
does a boolean check.
Member
Author
There was a problem hiding this comment.
Good to know, I'll add that in a new PR. Thanks!
agocke
pushed a commit
to dotnet/runtime
that referenced
this pull request
Nov 16, 2022
Commit migrated from dotnet/linker@1d77412
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.
Create an enum in the shared project for well known types to simplify type checking, avoid using string comparisons when possible, and avoid dereferencing null properties in Roslyn APIs.