From ae7e8fd1e5509c0da4d807867c02a26ad026f801 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Tue, 27 Sep 2022 11:26:10 -0500 Subject: Check for nulls in IsInterfaceImplementationNeededByTypeDueToInterface (#3050) --- src/linker/Linker.Steps/MarkStep.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/linker/Linker.Steps/MarkStep.cs b/src/linker/Linker.Steps/MarkStep.cs index dc026e7b9..5d4065d35 100644 --- a/src/linker/Linker.Steps/MarkStep.cs +++ b/src/linker/Linker.Steps/MarkStep.cs @@ -611,7 +611,7 @@ namespace Mono.Linker.Steps if (bases is null) continue; foreach (var @base in bases) { - if (@base.DeclaringType.IsInterface && IgnoreScope (@base.DeclaringType.Scope)) + if (@base.DeclaringType is not null && @base.DeclaringType.IsInterface && IgnoreScope (@base.DeclaringType.Scope)) _interfaceOverrides.Add ((new OverrideInformation (@base, method, Context), ScopeStack.CurrentScope)); } } @@ -2406,6 +2406,9 @@ namespace Mono.Linker.Steps { var @base = overrideInformation.Base; var method = overrideInformation.Override; + if (@base is null || method is null || @base.DeclaringType is null) + return false; + if (Annotations.IsMarked (method)) return false; -- cgit v1.2.3