ICSharpCode.NRefactory.MonoCSharp.MovableArgument.EmitToVariable C# (CSharp) Method

EmitToVariable() public method

public EmitToVariable ( ICSharpCode.NRefactory.MonoCSharp.EmitContext ec ) : void
ec ICSharpCode.NRefactory.MonoCSharp.EmitContext
return void
		public void EmitToVariable (EmitContext ec)
		{
			var type = Expr.Type;
			if (IsByRef) {
				var ml = (IMemoryLocation) Expr;
				ml.AddressOf (ec, AddressOp.LoadStore);
				type = ReferenceContainer.MakeType (ec.Module, type);
			} else {
				Expr.Emit (ec);
			}

			variable = new LocalTemporary (type);
			variable.Store (ec);

			Expr = variable;
		}
	}