diff options
author | Stephane Delcroix <stephane@delcroix.org> | 2016-12-01 22:34:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-01 22:34:39 +0100 |
commit | e413e0cf331ae1512e2d8a6fcc89446c1cf2225c (patch) | |
tree | 5aad168ffd3e0679bb36b4a54f5465e501629411 /Xamarin.Forms.Build.Tasks/TypeReferenceExtensions.cs | |
parent | 00b652cd43902b4499706d1f9172041c20083ae8 (diff) | |
download | xamarin-forms-e413e0cf331ae1512e2d8a6fcc89446c1cf2225c.tar.gz xamarin-forms-e413e0cf331ae1512e2d8a6fcc89446c1cf2225c.tar.bz2 xamarin-forms-e413e0cf331ae1512e2d8a6fcc89446c1cf2225c.zip |
[XamlC] use op_implicit where we should (#580)
* [XamlC] (passing) test for 48242
* [XamlC] (failing) test for 48242
* [XamlC] more op_implicit conversions
* additional test
* fix rebase
Diffstat (limited to 'Xamarin.Forms.Build.Tasks/TypeReferenceExtensions.cs')
-rw-r--r-- | Xamarin.Forms.Build.Tasks/TypeReferenceExtensions.cs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Xamarin.Forms.Build.Tasks/TypeReferenceExtensions.cs b/Xamarin.Forms.Build.Tasks/TypeReferenceExtensions.cs index f0a6cef7..d0ccbc59 100644 --- a/Xamarin.Forms.Build.Tasks/TypeReferenceExtensions.cs +++ b/Xamarin.Forms.Build.Tasks/TypeReferenceExtensions.cs @@ -204,9 +204,10 @@ namespace Xamarin.Forms.Build.Tasks } public static MethodReference GetImplicitOperatorTo(this TypeReference fromType, TypeReference toType, ModuleDefinition module) - { - var implicitOperators = fromType.GetMethods(md => md.IsPublic && md.IsStatic && md.IsSpecialName && md.Name == "op_Implicit", - module).ToList(); + { + var implicitOperatorsOnFromType = fromType.GetMethods(md => md.IsPublic && md.IsStatic && md.IsSpecialName && md.Name == "op_Implicit", module); + var implicitOperatorsOnToType = toType.GetMethods(md => md.IsPublic && md.IsStatic && md.IsSpecialName && md.Name == "op_Implicit", module); + var implicitOperators = implicitOperatorsOnFromType.Concat(implicitOperatorsOnToType).ToList(); if (implicitOperators.Any()) { foreach (var op in implicitOperators) { var cast = op.Item1; |