public void Compile(CompilationContext context) { Label ifNotNullLabel = context.ilGenerator.DefineLabel(); _value.Compile(context); context.Emit(OpCodes.Dup); context.Emit(OpCodes.Brtrue_S, ifNotNullLabel); context.Emit(OpCodes.Pop); _ifNullValue.Compile(context); context.ilGenerator.MarkLabel(ifNotNullLabel); }
public void Compile(CompilationContext context) { refObj.Compile(context); context.Emit(OpCodes.Unbox_Any, unboxedType); }
public virtual void Compile(CompilationContext context) { array.Compile(context); context.Emit(OpCodes.Ldc_I4, index); context.Emit(OpCodes.Ldelem, itemType); }
public void Compile(CompilationContext context) { exception.Compile(context); context.Emit(OpCodes.Throw); }