Mono.CSharp.HoistedParameter.EmitHoistingAssignment C# (CSharp) Method

EmitHoistingAssignment() public method

public EmitHoistingAssignment ( EmitContext ec ) : void
ec EmitContext
return void
		public void EmitHoistingAssignment (EmitContext ec)
		{
			//
			// Remove hoisted redirection to emit assignment from original parameter
			//
			HoistedVariable temp = parameter.Parameter.HoistedVariant;
			parameter.Parameter.HoistedVariant = null;

			Assign a = new HoistedFieldAssign (GetFieldExpression (ec), parameter);
			if (a.Resolve (new ResolveContext (ec.MemberContext)) != null)
				a.EmitStatement (ec);

			parameter.Parameter.HoistedVariant = temp;
		}