internal override void Compile(IBuildContext ctx, int expressionId) { ctx.MarkSequencePointFor(expressionId); var local = ctx.GetLocal(_variable); if (_loadAddress) { EmitLocalAddress(ctx, local); } else { EmitLocalValue(ctx, local); } }
internal override void Compile(IBuildContext ctx, int expressionId) { ctx.Compile(_value); ctx.MarkSequencePointFor(expressionId); EmitWriteLocal(ctx, ctx.GetLocal(_variable)); }
internal override void Compile(IBuildContext ctx, int expressionId) { if (_exceptionVariable == null) { ctx.Generator.Emit(OpCodes.Pop); } else { var local = _declareVariable ? ctx.DeclareLocal(_exceptionVariable) : ctx.GetLocal(_exceptionVariable); LocalWriteExpression.EmitWriteLocal(ctx, local); } }