summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Build.Tasks/MethodReferenceExtensions.cs
diff options
context:
space:
mode:
authorStephane Delcroix <stephane@delcroix.org>2016-06-01 22:48:03 +0200
committerJason Smith <jason.smith@xamarin.com>2016-06-01 13:48:03 -0700
commit071883ea17bd2e9a368f8cb8cab82b639d5385f4 (patch)
tree1a3a7478d7523182a327a757c60c6efa46968561 /Xamarin.Forms.Build.Tasks/MethodReferenceExtensions.cs
parent3aa5d68e2e9a70766aefc746a2566d0766a03b58 (diff)
downloadxamarin-forms-071883ea17bd2e9a368f8cb8cab82b639d5385f4.tar.gz
xamarin-forms-071883ea17bd2e9a368f8cb8cab82b639d5385f4.tar.bz2
xamarin-forms-071883ea17bd2e9a368f8cb8cab82b639d5385f4.zip
Xaml werr (#191)
* [XamlC] get rid of 0219 * [XamlC] get rid of 0168 * [XamC] it's 436 time * [XamlC] bye 108 * [XamlC] remove one though obsolete invocation * [XamlC] no longer depend on any obsolete * align the stars
Diffstat (limited to 'Xamarin.Forms.Build.Tasks/MethodReferenceExtensions.cs')
-rw-r--r--Xamarin.Forms.Build.Tasks/MethodReferenceExtensions.cs30
1 files changed, 6 insertions, 24 deletions
diff --git a/Xamarin.Forms.Build.Tasks/MethodReferenceExtensions.cs b/Xamarin.Forms.Build.Tasks/MethodReferenceExtensions.cs
index e377a0c6..6240a201 100644
--- a/Xamarin.Forms.Build.Tasks/MethodReferenceExtensions.cs
+++ b/Xamarin.Forms.Build.Tasks/MethodReferenceExtensions.cs
@@ -6,33 +6,13 @@ namespace Xamarin.Forms.Build.Tasks
{
static class MethodReferenceExtensions
{
- [Obsolete]
- public static MethodReference MakeGeneric(this MethodReference self, params TypeReference[] arguments)
- {
- var reference = new MethodReference(self.Name, self.ReturnType)
- {
- DeclaringType = self.DeclaringType.MakeGenericInstanceType(arguments),
- HasThis = self.HasThis,
- ExplicitThis = self.ExplicitThis,
- CallingConvention = self.CallingConvention
- };
-
- foreach (var parameter in self.Parameters)
- reference.Parameters.Add(new ParameterDefinition(parameter.ParameterType));
-
- foreach (var generic_parameter in self.GenericParameters)
- reference.GenericParameters.Add(new GenericParameter(generic_parameter.Name, reference));
-
- return reference;
- }
-
public static MethodReference ResolveGenericParameters(this MethodReference self, TypeReference declaringTypeRef,
ModuleDefinition module)
{
if (self == null)
- throw new ArgumentNullException("self");
+ throw new ArgumentNullException(nameof(self));
if (declaringTypeRef == null)
- throw new ArgumentNullException("declaringTypeRef");
+ throw new ArgumentNullException(nameof(declaringTypeRef));
var reference = new MethodReference(self.Name, self.ReturnType)
{
@@ -42,8 +22,10 @@ namespace Xamarin.Forms.Build.Tasks
CallingConvention = self.CallingConvention
};
- foreach (var parameter in self.Parameters)
- reference.Parameters.Add(new ParameterDefinition(module.Import(parameter.ParameterType)));
+ foreach (var parameter in self.Parameters) {
+ var p = parameter.ParameterType.IsGenericParameter ? parameter.ParameterType : module.Import(parameter.ParameterType);
+ reference.Parameters.Add(new ParameterDefinition(p));
+ }
foreach (var generic_parameter in self.GenericParameters)
reference.GenericParameters.Add(new GenericParameter(generic_parameter.Name, reference));