C#: Improve CIL attribute decoding#4775
Merged
tamasvajk merged 11 commits intogithub:mainfrom Dec 17, 2020
Merged
Conversation
39e8650 to
5aaa245
Compare
5aaa245 to
a7451a1
Compare
hvitved
requested changes
Dec 16, 2020
Contributor
hvitved
left a comment
There was a problem hiding this comment.
Great improvements, Tamas. I have a few minor comments.
csharp/extractor/Semmle.Extraction.CIL/Entities/SignatureDecoder.cs
Outdated
Show resolved
Hide resolved
csharp/extractor/Semmle.Extraction.CIL/Entities/GenericsHelper.cs
Outdated
Show resolved
Hide resolved
...rp/extractor/Semmle.Extraction.CIL/Entities/NoMetadataHandleType.FullyQualifiedNameParser.cs
Outdated
Show resolved
Hide resolved
...rp/extractor/Semmle.Extraction.CIL/Entities/NoMetadataHandleType.FullyQualifiedNameParser.cs
Outdated
Show resolved
Hide resolved
...rp/extractor/Semmle.Extraction.CIL/Entities/NoMetadataHandleType.FullyQualifiedNameParser.cs
Outdated
Show resolved
Hide resolved
hvitved
approved these changes
Dec 17, 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.


Attribute decoding was missing
System.Type.This PR starts to use the underlying enum type for
TypeDefinitionTypes from the below PR. And introduces a thinTypelayer where a DB CIL type is created from a fully qualified name. (Previously these types were created from metadata handles.) Types fromTypeReferenceType,TypeDefinitionType,ConstructedTypeand the newly addedNoMetadataHandleTypehave compatible DB ID generation, which means eventually the types created from different handles or no handles will be mapped to the same QL entity.This PR is based on top of #4761, which already fixed the test failure.C# differences job