Example #1
0
        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);
        }
Example #2
0
 public void Compile(CompilationContext context)
 {
     refObj.Compile(context);
     context.Emit(OpCodes.Unbox_Any, unboxedType);
 }
Example #3
0
 public virtual void Compile(CompilationContext context)
 {
     array.Compile(context);
     context.Emit(OpCodes.Ldc_I4, index);
     context.Emit(OpCodes.Ldelem, itemType);
 }
Example #4
0
 public void Compile(CompilationContext context)
 {
     exception.Compile(context);
     context.Emit(OpCodes.Throw);
 }