internal override void Compile(IBuildContext ctx, int expressionId) { var local = ctx.DeclareLocal(_variable); if (_initialValue != null) { ctx.Compile(_initialValue); ctx.MarkSequencePointFor(expressionId); LocalWriteExpression.EmitWriteLocal(ctx, local); } }
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); } }