diff options
author | Evan Behar <evan.behar@komodohealth.com> | 2018-07-06 23:08:09 -0700 |
---|---|---|
committer | Evan Behar <evan.behar@komodohealth.com> | 2018-07-06 23:08:09 -0700 |
commit | 2b2860637d36b17d51ce279afaa4d81cefef289d (patch) | |
tree | fda4814c377a06dcdbeba5ab2e59e6ad823327a3 /src/SMAPI | |
parent | 2421fa3fa10b15ebf7bbe2e1893311c27a33b6fd (diff) | |
download | SMAPI-2b2860637d36b17d51ce279afaa4d81cefef289d.tar.gz SMAPI-2b2860637d36b17d51ce279afaa4d81cefef289d.tar.bz2 SMAPI-2b2860637d36b17d51ce279afaa4d81cefef289d.zip |
Linux-compatible scope resolution in validator
Diffstat (limited to 'src/SMAPI')
-rw-r--r-- | src/SMAPI/Framework/ModLoading/Finders/ReferenceToMemberWithUnexpectedTypeFinder.cs | 10 |
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> |