Microsoft.Cci.CodeModelToILConverter.StoreVectorElement C# (CSharp) Method

StoreVectorElement() private method

private StoreVectorElement ( ITypeReference elementTypeReference ) : void
elementTypeReference ITypeReference
return void
    private void StoreVectorElement(ITypeReference elementTypeReference) {
      OperationCode opcode;
      switch (elementTypeReference.TypeCode) {
        case PrimitiveTypeCode.Boolean: opcode = OperationCode.Stelem_I1; break;
        case PrimitiveTypeCode.Char: opcode = OperationCode.Stelem_I2; break;
        case PrimitiveTypeCode.Float32: opcode = OperationCode.Stelem_R4; break;
        case PrimitiveTypeCode.Float64: opcode = OperationCode.Stelem_R8; break;
        case PrimitiveTypeCode.Int16: opcode = OperationCode.Stelem_I2; break;
        case PrimitiveTypeCode.Int32: opcode = OperationCode.Stelem_I4; break;
        case PrimitiveTypeCode.Int64: opcode = OperationCode.Stelem_I8; break;
        case PrimitiveTypeCode.Int8: opcode = OperationCode.Stelem_I1; break;
        case PrimitiveTypeCode.IntPtr: opcode = OperationCode.Stelem_I; break;
        case PrimitiveTypeCode.Pointer: opcode = OperationCode.Stelem_I; break;
        case PrimitiveTypeCode.UInt16: opcode = OperationCode.Stelem_I2; break;
        case PrimitiveTypeCode.UInt32: opcode = OperationCode.Stelem_I4; break;
        case PrimitiveTypeCode.UInt64: opcode = OperationCode.Stelem_I8; break;
        case PrimitiveTypeCode.UInt8: opcode = OperationCode.Stelem_I1; break;
        case PrimitiveTypeCode.UIntPtr: opcode = OperationCode.Stelem_I; break;
        default:
          if (elementTypeReference.IsValueType || elementTypeReference is IGenericParameterReference) {
            this.generator.Emit(OperationCode.Stelem, elementTypeReference);
            this.StackSize -= 3;
            return;
          }
          opcode = OperationCode.Stelem_Ref; break;
      }
      this.generator.Emit(opcode);
      this.StackSize -= 3;
    }