-
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
Proper type name parser for native AOT compiler #83657
Conversation
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas |
ecf2d62
to
f46a396
Compare
f46a396
to
db91339
Compare
db91339
to
91efea8
Compare
Ready for review |
91efea8
to
e33895c
Compare
32e2e02
to
efae78e
Compare
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/ReflectionMarker.cs
Show resolved
Hide resolved
I pushed a change which fixes some of the test failures. There's one test failure remaining: Basically the equivalent of: static void Get([DAM] string b) => Type.GetType(b);
Get("TypeName,Invalid/Assembly/Name");
Get("TypeName,NonExistingAssembly"); Both cases above produce IL2105 with these change in NativeAOT, but they don't produce warnings in illink. This is because illink will only produce IL2105 if there's no assembly name. If there is assembly name, but it fails to resolve for whatever reason, illink will simply treat it non-existent type and assume the return value is null. Given the current codebase in NativeAOT this is not a simple fix, because the information about the presence of assembly name is hidden inside the typename parser, and is not exposed in any way, such that we can use it to suppress producing the warning. I didn't spend much time on this though. |
That's not hard to fix. I will take care of it. Thank you! |
cb6dbb3
to
7bebd88
Compare
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
NativeAOT failure is #84112 |
Fixes #72833