summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2020-10-17 22:03:43 -0400
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2020-10-17 22:03:43 -0400
commit1cac3892848bef50a58b07c567f551974635b6d8 (patch)
tree2822c151d74b237c3c3d268661c2b03d67b78ffa
parente20d26adcf7276c7f12ab9ab6ea0311953aa5194 (diff)
downloadSMAPI-1cac3892848bef50a58b07c567f551974635b6d8.tar.gz
SMAPI-1cac3892848bef50a58b07c567f551974635b6d8.tar.bz2
SMAPI-1cac3892848bef50a58b07c567f551974635b6d8.zip
fix error in heuristic rewriting
-rw-r--r--docs/release-notes.md4
-rw-r--r--src/SMAPI/Framework/ModLoading/Rewriters/HeuristicFieldRewriter.cs2
2 files changed, 5 insertions, 1 deletions
diff --git a/docs/release-notes.md b/docs/release-notes.md
index a11721d4..d6b5df7a 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -7,6 +7,10 @@
* Migrated to Harmony 2.0 (see [_migrate to Harmony 2.0_](https://stardewvalleywiki.com/Modding:Migrate_to_Harmony_2.0) for more info).
-->
+## Upcoming release
+* For modders:
+ * Fixed error when heuristically rewriting a property for a type that no longer exists.
+
## 3.7.5
Released 16 October 2020 for Stardew Valley 1.4.1 or later.
diff --git a/src/SMAPI/Framework/ModLoading/Rewriters/HeuristicFieldRewriter.cs b/src/SMAPI/Framework/ModLoading/Rewriters/HeuristicFieldRewriter.cs
index ca04205c..f59a6ab1 100644
--- a/src/SMAPI/Framework/ModLoading/Rewriters/HeuristicFieldRewriter.cs
+++ b/src/SMAPI/Framework/ModLoading/Rewriters/HeuristicFieldRewriter.cs
@@ -68,7 +68,7 @@ namespace StardewModdingAPI.Framework.ModLoading.Rewriters
private bool TryRewriteToProperty(ModuleDefinition module, Instruction instruction, FieldReference fieldRef, TypeDefinition declaringType, bool isRead)
{
// get equivalent property
- PropertyDefinition property = declaringType.Properties.FirstOrDefault(p => p.Name == fieldRef.Name);
+ PropertyDefinition property = declaringType?.Properties.FirstOrDefault(p => p.Name == fieldRef.Name);
MethodDefinition method = isRead ? property?.GetMethod : property?.SetMethod;
if (method == null)
return false;