diff options
author | Stephane Delcroix <stephane@delcroix.org> | 2016-07-21 20:59:40 +0200 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2016-07-21 11:59:40 -0700 |
commit | 2590d913f7c69f1be60c2c5ac7fb60d0ec8732ed (patch) | |
tree | 981c141f8503ecf27531bc94ace0a64dad6e344d /Xamarin.Forms.Build.Tasks/NodeILExtensions.cs | |
parent | a80d5c0de704837588138966be1b38a89ed24be9 (diff) | |
download | xamarin-forms-2590d913f7c69f1be60c2c5ac7fb60d0ec8732ed.tar.gz xamarin-forms-2590d913f7c69f1be60c2c5ac7fb60d0ec8732ed.tar.bz2 xamarin-forms-2590d913f7c69f1be60c2c5ac7fb60d0ec8732ed.zip |
[XamlC] Fix the getter of getters (#263)
Diffstat (limited to 'Xamarin.Forms.Build.Tasks/NodeILExtensions.cs')
-rw-r--r-- | Xamarin.Forms.Build.Tasks/NodeILExtensions.cs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Xamarin.Forms.Build.Tasks/NodeILExtensions.cs b/Xamarin.Forms.Build.Tasks/NodeILExtensions.cs index 97b48a40..35016694 100644 --- a/Xamarin.Forms.Build.Tasks/NodeILExtensions.cs +++ b/Xamarin.Forms.Build.Tasks/NodeILExtensions.cs @@ -220,7 +220,10 @@ namespace Xamarin.Forms.Build.Tasks return true; } - var getters = bpRef.DeclaringType.GetMethods(md => md.Name == "Get" + pName && md.IsStatic, module).SingleOrDefault(); + var getters = bpRef.DeclaringType.GetMethods(md => md.Name == "Get" + pName && + md.IsStatic && + md.Parameters.Count() == 1 && + md.Parameters[0].ParameterType.FullName == "Xamarin.Forms.BindableObject", module).SingleOrDefault(); if (getters != null) { if (getters.Item1.HasCustomAttributes) @@ -263,7 +266,10 @@ namespace Xamarin.Forms.Build.Tasks //Then check for getter or setter (attached BPs) var getters = - bpRef.DeclaringType.GetMethods(md => md.Name == "Get" + name && md.IsStatic, context.Body.Method.Module) + bpRef.DeclaringType.GetMethods(md => md.Name == "Get" + name && + md.IsStatic && + md.Parameters.Count() == 1 && + md.Parameters [0].ParameterType.FullName == "Xamarin.Forms.BindableObject", context.Body.Method.Module) .SingleOrDefault(); if (getters != null) return getters.Item1.ReturnType; |