summaryrefslogtreecommitdiff
path: root/src/SMAPI
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2020-08-26 22:32:59 -0400
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2020-08-26 22:32:59 -0400
commit54e7fb7a0bcd994f6d49348c879cb96902dbe07b (patch)
treedbfef1122cdf57a9fd9518f9889a39cc6ef8d480 /src/SMAPI
parentd3c5fe0764806684cc71508abf009473b9d7bc0a (diff)
downloadSMAPI-54e7fb7a0bcd994f6d49348c879cb96902dbe07b.tar.gz
SMAPI-54e7fb7a0bcd994f6d49348c879cb96902dbe07b.tar.bz2
SMAPI-54e7fb7a0bcd994f6d49348c879cb96902dbe07b.zip
fix some broken field references not detected
Diffstat (limited to 'src/SMAPI')
-rw-r--r--src/SMAPI/Framework/ModLoading/Finders/ReferenceToMissingMemberFinder.cs5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/SMAPI/Framework/ModLoading/Finders/ReferenceToMissingMemberFinder.cs b/src/SMAPI/Framework/ModLoading/Finders/ReferenceToMissingMemberFinder.cs
index 9afd1de0..75575c97 100644
--- a/src/SMAPI/Framework/ModLoading/Finders/ReferenceToMissingMemberFinder.cs
+++ b/src/SMAPI/Framework/ModLoading/Finders/ReferenceToMissingMemberFinder.cs
@@ -1,5 +1,4 @@
using System.Collections.Generic;
-using System.Linq;
using Mono.Cecil;
using Mono.Cecil.Cil;
using StardewModdingAPI.Framework.ModLoading.Framework;
@@ -35,8 +34,8 @@ namespace StardewModdingAPI.Framework.ModLoading.Finders
FieldReference fieldRef = RewriteHelper.AsFieldReference(instruction);
if (fieldRef != null && this.ShouldValidate(fieldRef.DeclaringType))
{
- FieldDefinition target = fieldRef.DeclaringType.Resolve()?.Fields.FirstOrDefault(p => p.Name == fieldRef.Name);
- if (target == null)
+ FieldDefinition target = fieldRef.Resolve();
+ if (target == null || target.HasConstant)
{
this.MarkFlag(InstructionHandleResult.NotCompatible, $"reference to {fieldRef.DeclaringType.FullName}.{fieldRef.Name} (no such field)");
return false;