Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/linker.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJackson Schuster <36744439+jtschuster@users.noreply.github.com>2022-11-02 18:37:46 +0300
committerGitHub <noreply@github.com>2022-11-02 18:37:46 +0300
commit391ac60bbfb2c618b82f08af728d2d4d259d584e (patch)
tree94147f3fec3c7d8a0ef09fb0a07cc137ce632d3e /src
parente502e7255030dde029e984e397924338485d1079 (diff)
Don't mark override of abstract base if the override's declaring type is not marked (#3098)
* Don't mark an override every time the base is abstract, only if the declaring type is also marked Adds a condition to ShouldMarkOverrideForBase to exit early if the declaring type of the method is not marked.
Diffstat (limited to 'src')
-rw-r--r--src/linker/Linker.Steps/MarkStep.cs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/linker/Linker.Steps/MarkStep.cs b/src/linker/Linker.Steps/MarkStep.cs
index 646e2e6bd..67a3c42b3 100644
--- a/src/linker/Linker.Steps/MarkStep.cs
+++ b/src/linker/Linker.Steps/MarkStep.cs
@@ -715,6 +715,8 @@ namespace Mono.Linker.Steps
// TODO: Move interface method marking logic here https://github.com/dotnet/linker/issues/3090
bool ShouldMarkOverrideForBase (OverrideInformation overrideInformation)
{
+ if (!Annotations.IsMarked (overrideInformation.Override.DeclaringType))
+ return false;
if (overrideInformation.IsOverrideOfInterfaceMember) {
_interfaceOverrides.Add ((overrideInformation, ScopeStack.CurrentScope));
return false;