protected ConsumeEmitter(ConsumableTypeInfo consumableTypeInfo)
        {
            if (consumableTypeInfo == null)
            {
                throw new ArgumentNullException(nameof(consumableTypeInfo));
            }

            ConsumableInfo = consumableTypeInfo;
        }
        public static ConsumeEmitter GetConsumeEmitter(ConsumableTypeInfo consumableTypeInfo)
        {
            if (consumableTypeInfo == null)
            {
                throw new ArgumentNullException(nameof(consumableTypeInfo));
            }

            if (consumableTypeInfo.IsVoid)
            {
                return(new VoidConsumeEmitter(consumableTypeInfo));
            }
            if (consumableTypeInfo.IsByRef)
            {
                return(new ByRefConsumeEmitter(consumableTypeInfo));
            }
            if (consumableTypeInfo.IsConsumable)
            {
                return(new ConsumableConsumeEmitter(consumableTypeInfo));
            }
            return(new NonConsumableConsumeEmitter(consumableTypeInfo));
        }
Exemple #3
0
 public ByRefConsumeEmitter(ConsumableTypeInfo consumableTypeInfo) : base(consumableTypeInfo)
 {
 }
 public VoidConsumeEmitter(ConsumableTypeInfo consumableTypeInfo) : base(consumableTypeInfo)
 {
 }
 public NonConsumableConsumeEmitter(ConsumableTypeInfo consumableTypeInfo) : base(consumableTypeInfo)
 {
 }