codeql
codeql copied to clipboard
C#: Lift models.
In this PR we align the C# model generator lifting and override logic with Java. That is,
- Models are now lifted to the top base class within the source code. However, we exclude
ObjectandValueTypeas this causes issues when generating models for .NET runtime (as these class definitions are included in the .NET runtime source code). - The extensible logic is changed; We now say that models should apply to all overrides with the exception of overrides of methods defined on
ObjectandValueType(as class or value type implicitly extend these).
Furthermore, we also make a small fix related to sink model discovery. We only want to exclude generation of these, if there exist a neutral sink model (and not a neutral summary model).
:warning: The head of this PR and the base branch were compared for differences in the framework coverage reports. A recent commit removed the previously reported differences.