public override void Emit(IlCompilerContext ctx) { _expression.Emit(ctx); ctx.StackDepth--; ctx.Il.Emit(OpCodes.Castclass, _type); ctx.StackDepth++; }
public override void Emit(IlCompilerContext ctx) { _target.Emit(ctx); _value.Emit(ctx); ctx.Il.Emit(OpCodes.Stfld, _field); ctx.StackDepth -= 2; }
public override void Emit(IlCompilerContext ctx) { var field = ctx.SelfType.GetFields(BindingFlagsEx.All)[Index]; ctx.Il.Emit(OpCodes.Ldarg_0); ctx.Il.Emit(OpCodes.Ldfld, field); ctx.StackDepth++; }
public override void Emit(IlCompilerContext ctx) { var ctor = _type.GetConstructor(new Type[] {}); // ReSharper disable once AssignNullToNotNullAttribute ctx.Il.Emit(OpCodes.Newobj, ctor); ctx.StackDepth++; }
public override void Emit(IlCompilerContext ctx) { foreach (var arg in _args) { arg.Emit(ctx); ctx.StackDepth--; } ctx.Il.EmitCall(OpCodes.Call, _method, null); if (_method.ReturnType != typeof(void)) { ctx.StackDepth++; } }
public override void Emit(IlCompilerContext ctx) { _target.Emit(ctx); ctx.StackDepth--; foreach (var arg in _args) { arg.Emit(ctx); ctx.StackDepth--; } if (_method.IsVirtual) { ctx.Il.EmitCall(OpCodes.Callvirt, _method, null); } else { ctx.Il.EmitCall(OpCodes.Call, _method, null); } if (_method.ReturnType != typeof(void)) { ctx.StackDepth++; } }
public override void Emit(IlCompilerContext ctx) { ctx.Il.Emit(_value ? OpCodes.Ldc_I4_1 : OpCodes.Ldc_I4_0); ctx.StackDepth++; }
public override void Emit(IlCompilerContext ctx) { _expression.Emit(ctx); ctx.Il.Emit(OpCodes.Unbox_Any, _type); }
public override void Emit(IlCompilerContext ctx) { ctx.Il.Emit(OpCodes.Ldloc, VariableIndex); ctx.StackDepth++; }
public override void Emit(IlCompilerContext ctx) { ctx.Il.Emit(OpCodes.Ldarg, ParameterIndex); ctx.StackDepth++; }
public abstract void Emit(IlCompilerContext ctx);