diff options
author | Stephane Delcroix <stephane@delcroix.org> | 2017-02-02 15:19:03 +0100 |
---|---|---|
committer | Kangho Hur <kangho.hur@samsung.com> | 2017-03-24 13:18:41 +0900 |
commit | f001684556f104a7d847d7b276164e5f0246f06f (patch) | |
tree | 517119bf5a706214a057ba511b1c45becb4c93b4 /Xamarin.Forms.Build.Tasks/TypeReferenceExtensions.cs | |
parent | fc482ef2eb128dae25342613a3e6d6d0f676419a (diff) | |
download | xamarin-forms-f001684556f104a7d847d7b276164e5f0246f06f.tar.gz xamarin-forms-f001684556f104a7d847d7b276164e5f0246f06f.tar.bz2 xamarin-forms-f001684556f104a7d847d7b276164e5f0246f06f.zip |
[Xaml[C]] check for compatible types on op_implicit (#715)
* [Xaml[C]] check for compatible types on op_implicit
* fix merge issue
Diffstat (limited to 'Xamarin.Forms.Build.Tasks/TypeReferenceExtensions.cs')
-rw-r--r-- | Xamarin.Forms.Build.Tasks/TypeReferenceExtensions.cs | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/Xamarin.Forms.Build.Tasks/TypeReferenceExtensions.cs b/Xamarin.Forms.Build.Tasks/TypeReferenceExtensions.cs index 3b69bfd5..f862de3e 100644 --- a/Xamarin.Forms.Build.Tasks/TypeReferenceExtensions.cs +++ b/Xamarin.Forms.Build.Tasks/TypeReferenceExtensions.cs @@ -157,7 +157,7 @@ namespace Xamarin.Forms.Build.Tasks var typeDef = typeRef.Resolve(); if (TypeRefComparer.Default.Equals(typeDef, baseClass.Resolve())) return true; - if (typeDef.Interfaces.Any(ir => TypeRefComparer.Default.Equals(ir.InterfaceType, baseClass))) + if (typeDef.Interfaces.Any(ir => TypeRefComparer.Default.Equals(ir.InterfaceType.ResolveGenericParameters(typeRef), baseClass))) return true; if (typeDef.BaseType == null) return false; @@ -257,10 +257,8 @@ namespace Xamarin.Forms.Build.Tasks var returnType = castDef.ReturnType; if (returnType.IsGenericParameter) returnType = ((GenericInstanceType)opDeclTypeRef).GenericArguments [((GenericParameter)returnType).Position]; - if (returnType.FullName == toType.FullName && - cast.Parameters [0].ParameterType.Name == fromType.Name) { + if (returnType.InheritsFromOrImplements(toType)) return castDef; - } } } return null; |