-
Notifications
You must be signed in to change notification settings - Fork 127
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
Analyzer processes expression tree construction data flow differently from linker #3172
Open
Tracked by
#101149
Labels
Comments
vitek-karas
changed the title
Analyzer doesn't fully process data flow in expression tree construction
Analyzer processes expression tree construction data flow differently from linker
Jan 4, 2023
In this case the analyzer should probably always produce less warnings than trimmer, which is the better outcome. The one place where this might be a problem is cases where expression trees are used as a performance optimization and as a convenient way to generate code at runtime. Where the code builds an expression tree which is then compiled and executed. |
This was referenced Apr 16, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
For example:
The difference is because linker sees
ldtoken
and not an actual call and doesn't perform true data flow, but analyzer sees this as a normal statement and processes it through data flow.The linker behavior is correct here, under the hood this creates expression tree with MethodInfo which is publicly accessible. And anybody with the expression tree can invoke the MethodInfo with any input. So this needs to warn always, regardless of data flow.
The text was updated successfully, but these errors were encountered: