From f361804f6140ee4c81ba20d9f5758b0975c1c925 Mon Sep 17 00:00:00 2001 From: Joao Matos Date: Sun, 29 May 2016 21:55:34 +0100 Subject: [PATCH] Added a new SetMethodParameterUsage overload taking parameter counts. --- src/Generator/Library.cs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/Generator/Library.cs b/src/Generator/Library.cs index 26ba9281..2edca4c0 100644 --- a/src/Generator/Library.cs +++ b/src/Generator/Library.cs @@ -253,14 +253,34 @@ namespace CppSharp /// first parameter has index 1 public static void SetMethodParameterUsage(this ASTContext context, string className, string methodName, int parameterIndex, ParameterUsage usage) + { + SetMethodParameterUsage(context, className, methodName, -1, parameterIndex, usage); + } + + /// + /// Sets the parameter usage for a method parameter. + /// + /// first parameter has index 1 + public static void SetMethodParameterUsage(this ASTContext context, + string className, string methodName, int parameterCount, int parameterIndex, + ParameterUsage usage) { if (parameterIndex <= 0 ) throw new ArgumentException("parameterIndex"); var @class = context.FindCompleteClass(className); - var method = @class.Methods.Find(m => m.Name == methodName); + + Method method; + + if (parameterCount >= 0) + method = @class.Methods.Find(m => m.Name == methodName + && m.Parameters.Count == parameterCount); + else + method = @class.Methods.Find(m => m.Name == methodName); + if (method == null) throw new ArgumentException("methodName"); + if (method.Parameters.Count < parameterIndex) throw new ArgumentException("parameterIndex");