Пример #1
0
 public override void Emit(CodeGen g, Type from, Type to)
 {
     g.EmitConvHelper(Type.GetTypeCode(to));
 }
Пример #2
0
 public abstract void Emit(CodeGen g, Type from, Type to);
Пример #3
0
 public override void Emit(CodeGen g, Type from, Type to)
 {
 }
Пример #4
0
 public override void Emit(CodeGen g, Type from, Type to)
 {
     throw new AmbiguousMatchException(string.Format(null, Properties.Messages.ErrAmbiguousConversion, from.FullName, to.FullName));
 }
Пример #5
0
 public override void Emit(CodeGen g, Type from, Type to)
 {
     before.Emit(g, from, fromType);
     g.IL.Emit(OpCodes.Call, (MethodInfo)method.Member);
     after.Emit(g, toType, to);
 }
Пример #6
0
 public override void Emit(CodeGen g, Type from, Type to)
 {
     g.IL.Emit(OpCodes.Castclass, to);
 }
Пример #7
0
 public override void Emit(CodeGen g, Type from, Type to)
 {
     throw new InvalidCastException(string.Format(null, Properties.Messages.ErrInvalidConversion, from == null ? "<null>" : from.FullName, to.FullName));
 }
Пример #8
0
 public override void Emit(CodeGen g, Type from, Type to)
 {
     g.IL.Emit(OpCodes.Unbox_Any, to);
 }
Пример #9
0
 public override void Emit(CodeGen g, Type from, Type to)
 {
     g.IL.Emit(OpCodes.Box, from);
 }
Пример #10
0
 internal override void EmitAddressOf(CodeGen g)
 {
     op.EmitAddressOf(g);
 }
Пример #11
0
 internal virtual void EmitAddressOf(CodeGen g)
 {
     throw new InvalidOperationException(string.Format(null, Properties.Messages.ErrOperandNotReferencible, GetType()));
 }
Пример #12
0
 internal virtual void EmitSet(CodeGen g, Operand value, bool allowExplicitConversion)
 {
     throw new InvalidOperationException(string.Format(null, Properties.Messages.ErrOperandNotWritable, GetType()));
 }