C#: Fix context-sensitive dispatch when using base qualifier#20305
Merged
hvitved merged 3 commits intogithub:mainfrom Sep 1, 2025
Merged
C#: Fix context-sensitive dispatch when using base qualifier#20305hvitved merged 3 commits intogithub:mainfrom
base qualifier#20305hvitved merged 3 commits intogithub:mainfrom
Conversation
8c4e938 to
aa3f4e1
Compare
Contributor
There was a problem hiding this comment.
Pull Request Overview
Fixes context-sensitive dispatch when using the base qualifier in C#. The issue was that the type inference for base expressions was using the base class type instead of the derived class type, which affected data flow analysis accuracy.
- Adds a helper predicate
getBaseAdjustedTypeto determine the correct type for base access expressions - Updates the
contextArgHasTypepredicate to use the adjusted type for base expressions - Simplifies formatting in the
getTypemethod
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| Dispatch.qll | Core fix implementing proper type inference for base expressions in dispatch logic |
| CallSensitivityFlow.cs | Test case demonstrating the fixed behavior with base qualifier calls |
| CallSensitivityFlow.expected | Expected test results reflecting improved data flow tracking |
| 2025-08-29-base-qualifier-dispatch.md | Change note documenting the bug fix |
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.
Fixes the issue discussed here. DCA is uneventful.