summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Build.Tasks
diff options
context:
space:
mode:
authorStephane Delcroix <stephane@delcroix.org>2016-07-21 20:59:40 +0200
committerJason Smith <jason.smith@xamarin.com>2016-07-21 11:59:40 -0700
commit2590d913f7c69f1be60c2c5ac7fb60d0ec8732ed (patch)
tree981c141f8503ecf27531bc94ace0a64dad6e344d /Xamarin.Forms.Build.Tasks
parenta80d5c0de704837588138966be1b38a89ed24be9 (diff)
downloadxamarin-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')
-rw-r--r--Xamarin.Forms.Build.Tasks/NodeILExtensions.cs10
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;