ICSharpCode.NRefactory.MonoCSharp.MethodOrOperator.PrepareEmit C# (CSharp) Method

PrepareEmit() public method

public PrepareEmit ( ) : void
return void
		public virtual void PrepareEmit ()
		{
			var mb = MethodData.DefineMethodBuilder (Parent);

			if (CurrentTypeParameters != null) {
				string[] gnames = new string[CurrentTypeParameters.Count];
				for (int i = 0; i < gnames.Length; ++i) {
					gnames[i] = CurrentTypeParameters[i].Name;
				}

				var gen_params = MethodBuilder.DefineGenericParameters (gnames);

				for (int i = 0; i < CurrentTypeParameters.Count; ++i) {
					var tp = CurrentTypeParameters[i];

					tp.Define (gen_params[i]);
				}
			}

			//
			// Generic method has been already defined to resolve method parameters
			// correctly when they use type parameters
			//
			mb.SetParameters (parameters.GetMetaInfo ());
			mb.SetReturnType (ReturnType.GetMetaInfo ());
		}