From 4adf8611131a5d86b15f017a42a0366837d14528 Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Wed, 13 Apr 2022 21:07:43 -0400 Subject: enable nullable annotations in the rest of SMAPI core (#837) --- src/SMAPI/Framework/DeprecationManager.cs | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) (limited to 'src/SMAPI/Framework/DeprecationManager.cs') diff --git a/src/SMAPI/Framework/DeprecationManager.cs b/src/SMAPI/Framework/DeprecationManager.cs index fe1b623f..44b0ba2f 100644 --- a/src/SMAPI/Framework/DeprecationManager.cs +++ b/src/SMAPI/Framework/DeprecationManager.cs @@ -1,5 +1,3 @@ -#nullable disable - using System; using System.Collections.Generic; using System.Linq; @@ -38,14 +36,14 @@ namespace StardewModdingAPI.Framework } /// Get the source name for a mod from its unique ID. - public string GetSourceNameFromStack() + public string? GetSourceNameFromStack() { return this.ModRegistry.GetFromStack()?.DisplayName; } /// Get the source name for a mod from its unique ID. /// The mod's unique ID. - public string GetSourceName(string modId) + public string? GetSourceName(string modId) { return this.ModRegistry.Get(modId)?.DisplayName; } @@ -55,10 +53,12 @@ namespace StardewModdingAPI.Framework /// A noun phrase describing what is deprecated. /// The SMAPI version which deprecated it. /// How deprecated the code is. - public void Warn(string source, string nounPhrase, string version, DeprecationLevel severity) + public void Warn(string? source, string nounPhrase, string version, DeprecationLevel severity) { + source ??= this.GetSourceNameFromStack() ?? ""; + // ignore if already warned - if (!this.MarkWarned(source ?? this.GetSourceNameFromStack() ?? "", nounPhrase, version)) + if (!this.MarkWarned(source, nounPhrase, version)) return; // queue warning @@ -99,17 +99,12 @@ namespace StardewModdingAPI.Framework } // log message - if (warning.ModName != null) - this.Monitor.Log(message, level); + if (level == LogLevel.Trace) + this.Monitor.Log($"{message}\n{warning.StackTrace}", level); else { - if (level == LogLevel.Trace) - this.Monitor.Log($"{message}\n{warning.StackTrace}", level); - else - { - this.Monitor.Log(message, level); - this.Monitor.Log(warning.StackTrace, LogLevel.Debug); - } + this.Monitor.Log(message, level); + this.Monitor.Log(warning.StackTrace, LogLevel.Debug); } } -- cgit