summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEvan Behar <evan.behar@komodohealth.com>2018-07-06 23:08:09 -0700
committerEvan Behar <evan.behar@komodohealth.com>2018-07-06 23:08:09 -0700
commit2b2860637d36b17d51ce279afaa4d81cefef289d (patch)
treefda4814c377a06dcdbeba5ab2e59e6ad823327a3 /src
parent2421fa3fa10b15ebf7bbe2e1893311c27a33b6fd (diff)
downloadSMAPI-2b2860637d36b17d51ce279afaa4d81cefef289d.tar.gz
SMAPI-2b2860637d36b17d51ce279afaa4d81cefef289d.tar.bz2
SMAPI-2b2860637d36b17d51ce279afaa4d81cefef289d.zip
Linux-compatible scope resolution in validator
Diffstat (limited to 'src')
-rw-r--r--src/SMAPI/Framework/ModLoading/Finders/ReferenceToMemberWithUnexpectedTypeFinder.cs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/SMAPI/Framework/ModLoading/Finders/ReferenceToMemberWithUnexpectedTypeFinder.cs b/src/SMAPI/Framework/ModLoading/Finders/ReferenceToMemberWithUnexpectedTypeFinder.cs
index ecad649a..6364cec8 100644
--- a/src/SMAPI/Framework/ModLoading/Finders/ReferenceToMemberWithUnexpectedTypeFinder.cs
+++ b/src/SMAPI/Framework/ModLoading/Finders/ReferenceToMemberWithUnexpectedTypeFinder.cs
@@ -110,7 +110,15 @@ namespace StardewModdingAPI.Framework.ModLoading.Finders
/// <param name="type">The type reference.</param>
private bool ShouldValidate(TypeReference type)
{
- return type != null && this.ValidateReferencesToAssemblies.Contains(type.Scope.Name);
+ // Extract scope name from type string representation for compatibility
+ // Under Linux, type.Scope.Name sometimes reports incorrectly
+ string scopeName = type.ToString();
+ if (scopeName[0] != '$')
+ return false;
+
+ scopeName = scopeName.Substring(0, scopeName.IndexOf(".", System.StringComparison.CurrentCulture));
+
+ return type != null && this.ValidateReferencesToAssemblies.Contains(scopeName);
}
/// <summary>Get a unique string representation of a type.</summary>