Mono.CSharp.DelegateCreation.CreateDelegateMethodArguments C# (CSharp) Method

CreateDelegateMethodArguments() public static method

public static CreateDelegateMethodArguments ( AParametersCollection pd, System.TypeSpec types, Mono.CSharp.Location loc ) : Arguments
pd AParametersCollection
types System.TypeSpec
loc Mono.CSharp.Location
return Arguments
		public static Arguments CreateDelegateMethodArguments (AParametersCollection pd, TypeSpec[] types, Location loc)
		{
			Arguments delegate_arguments = new Arguments (pd.Count);
			for (int i = 0; i < pd.Count; ++i) {
				Argument.AType atype_modifier;
				switch (pd.FixedParameters [i].ModFlags) {
				case Parameter.Modifier.REF:
					atype_modifier = Argument.AType.Ref;
					break;
				case Parameter.Modifier.OUT:
					atype_modifier = Argument.AType.Out;
					break;
				default:
					atype_modifier = 0;
					break;
				}

				delegate_arguments.Add (new Argument (new TypeExpression (types [i], loc), atype_modifier));
			}

			return delegate_arguments;
		}