summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework/ModLoading/Finders
diff options
context:
space:
mode:
Diffstat (limited to 'src/SMAPI/Framework/ModLoading/Finders')
-rw-r--r--src/SMAPI/Framework/ModLoading/Finders/ReferenceToMemberWithUnexpectedTypeFinder.cs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/SMAPI/Framework/ModLoading/Finders/ReferenceToMemberWithUnexpectedTypeFinder.cs b/src/SMAPI/Framework/ModLoading/Finders/ReferenceToMemberWithUnexpectedTypeFinder.cs
index bd5c97d6..79db6921 100644
--- a/src/SMAPI/Framework/ModLoading/Finders/ReferenceToMemberWithUnexpectedTypeFinder.cs
+++ b/src/SMAPI/Framework/ModLoading/Finders/ReferenceToMemberWithUnexpectedTypeFinder.cs
@@ -67,7 +67,8 @@ namespace StardewModdingAPI.Framework.ModLoading.Finders
// validate return type
string actualReturnTypeID = this.GetComparableTypeID(targetField.FieldType);
string expectedReturnTypeID = this.GetComparableTypeID(fieldRef.FieldType);
- if (actualReturnTypeID != expectedReturnTypeID)
+
+ if (!RewriteHelper.LooksLikeSameType(expectedReturnTypeID, actualReturnTypeID))
{
this.NounPhrase = $"reference to {fieldRef.DeclaringType.FullName}.{fieldRef.Name} (field returns {this.GetFriendlyTypeName(targetField.FieldType, actualReturnTypeID)}, not {this.GetFriendlyTypeName(fieldRef.FieldType, expectedReturnTypeID)})";
return InstructionHandleResult.NotCompatible;
@@ -110,8 +111,8 @@ namespace StardewModdingAPI.Framework.ModLoading.Finders
/// <param name="type">The type reference.</param>
private bool ShouldValidate(TypeReference type)
{
- if (type == null)
- return false;
+ if (type != null)
+ return true;
// Extract scope name from type string representation for compatibility
// Under Linux, type.Scope.Name sometimes reports incorrectly