示例#1
0
 public override void Emit(EmitContext ec)
 {
     Store(ec);
     if (useDefaultValue)
     {
         Invocation.EmitCall(ec, this, NullableInfo.GetGetValueOrDefault(expr.Type), null, loc);
     }
     else
     {
         Invocation.EmitCall(ec, this, NullableInfo.GetValue(expr.Type), null, loc);
     }
 }
示例#2
0
文件: nullable.cs 项目: mdae/MonoRT
 public override void Emit(EmitContext ec)
 {
     Store(ec);
     if (useDefaultValue)
     {
         Invocation.EmitCall(ec, false, this, info.GetValueOrDefault, null, loc);
     }
     else
     {
         Invocation.EmitCall(ec, false, this, info.Value, null, loc);
     }
 }
示例#3
0
 public override void Emit(EmitContext ec)
 {
     Invocation.EmitCall(ec, Child, NullableInfo.GetValue(Child.Type), null, loc);
 }
示例#4
0
 public void EmitCheck(EmitContext ec)
 {
     Store(ec);
     Invocation.EmitCall(ec, this, NullableInfo.GetHasValue(expr.Type), null, loc);
 }
示例#5
0
文件: nullable.cs 项目: mdae/MonoRT
 public void EmitCheck(EmitContext ec)
 {
     Store(ec);
     Invocation.EmitCall(ec, false, this, info.HasValue, null, loc);
 }