summaryrefslogtreecommitdiff
path: root/src/SMAPI
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2018-12-31 14:10:25 -0500
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2019-02-07 22:36:49 -0500
commite064be0c7b3440b31b616cec8c43946097fdad7d (patch)
tree401dadfd9154e4bdead5b6bc8f02caa3a4d0a9a3 /src/SMAPI
parent1db640d29557c8574e6442ad9824988358929e24 (diff)
downloadSMAPI-e064be0c7b3440b31b616cec8c43946097fdad7d.tar.gz
SMAPI-e064be0c7b3440b31b616cec8c43946097fdad7d.tar.bz2
SMAPI-e064be0c7b3440b31b616cec8c43946097fdad7d.zip
fix 'unknown mod' deprecation warnings showing wrong stack trace
Diffstat (limited to 'src/SMAPI')
-rw-r--r--src/SMAPI/Framework/DeprecationManager.cs4
-rw-r--r--src/SMAPI/Framework/DeprecationWarning.cs7
2 files changed, 8 insertions, 3 deletions
diff --git a/src/SMAPI/Framework/DeprecationManager.cs b/src/SMAPI/Framework/DeprecationManager.cs
index 76c2f616..8d836c8c 100644
--- a/src/SMAPI/Framework/DeprecationManager.cs
+++ b/src/SMAPI/Framework/DeprecationManager.cs
@@ -62,7 +62,7 @@ namespace StardewModdingAPI.Framework
return;
// queue warning
- this.QueuedWarnings.Add(new DeprecationWarning(source, nounPhrase, version, severity));
+ this.QueuedWarnings.Add(new DeprecationWarning(source, nounPhrase, version, severity, Environment.StackTrace));
}
/// <summary>Print any queued messages.</summary>
@@ -79,7 +79,7 @@ namespace StardewModdingAPI.Framework
: $"{warning.ModName ?? "An unknown mod"} uses deprecated code ({warning.NounPhrase} is deprecated since SMAPI {warning.Version}).";
#endif
if (warning.ModName == null)
- message += $"{Environment.NewLine}{Environment.StackTrace}";
+ message += $"{Environment.NewLine}{warning.StackTrace}";
// log message
switch (warning.Level)
diff --git a/src/SMAPI/Framework/DeprecationWarning.cs b/src/SMAPI/Framework/DeprecationWarning.cs
index 25415012..5201b06c 100644
--- a/src/SMAPI/Framework/DeprecationWarning.cs
+++ b/src/SMAPI/Framework/DeprecationWarning.cs
@@ -18,6 +18,9 @@ namespace StardewModdingAPI.Framework
/// <summary>The deprecation level for the affected code.</summary>
public DeprecationLevel Level { get; }
+ /// <summary>The stack trace when the deprecation warning was raised.</summary>
+ public string StackTrace { get; }
+
/*********
** Public methods
@@ -27,12 +30,14 @@ namespace StardewModdingAPI.Framework
/// <param name="nounPhrase">A noun phrase describing what is deprecated.</param>
/// <param name="version">The SMAPI version which deprecated it.</param>
/// <param name="level">The deprecation level for the affected code.</param>
- public DeprecationWarning(string modName, string nounPhrase, string version, DeprecationLevel level)
+ /// <param name="stackTrace">The stack trace when the deprecation warning was raised.</param>
+ public DeprecationWarning(string modName, string nounPhrase, string version, DeprecationLevel level, string stackTrace)
{
this.ModName = modName;
this.NounPhrase = nounPhrase;
this.Version = version;
this.Level = level;
+ this.StackTrace = stackTrace;
}
}
}