1 | // Licensed to the .NET Foundation under one or more agreements. |
2 | // The .NET Foundation licenses this file to you under the MIT license. |
3 | // See the LICENSE file in the project root for more information. |
4 | |
5 | // This describes information about the COM+ primitive types |
6 | |
7 | #define NO_SIZE ((BYTE)-1) |
8 | |
9 | // TYPEINFO(type (CorElementType), namespace, class, size, gcType, isArray,isPrim, isFloat,isModifier,isGenVariable) |
10 | |
11 | TYPEINFO(ELEMENT_TYPE_END, NULL, NULL, NO_SIZE, TYPE_GC_NONE, false, false, false, false, false) // 0x00 |
12 | TYPEINFO(ELEMENT_TYPE_VOID, "System" , "Void" , 0, TYPE_GC_NONE, false, true, false, false, false) // 0x01 |
13 | TYPEINFO(ELEMENT_TYPE_BOOLEAN, "System" , "Boolean" , 1, TYPE_GC_NONE, false, true, false, false, false) // 0x02 |
14 | TYPEINFO(ELEMENT_TYPE_CHAR, "System" , "Char" , 2, TYPE_GC_NONE, false, true, false, false, false) // 0x03 |
15 | TYPEINFO(ELEMENT_TYPE_I1, "System" , "SByte" , 1, TYPE_GC_NONE, false, true, false, false, false) // 0x04 |
16 | TYPEINFO(ELEMENT_TYPE_U1, "System" , "Byte" , 1, TYPE_GC_NONE, false, true, false, false, false) // 0x05 |
17 | TYPEINFO(ELEMENT_TYPE_I2, "System" , "Int16" , 2, TYPE_GC_NONE, false, true, false, false, false) // 0x06 |
18 | TYPEINFO(ELEMENT_TYPE_U2, "System" , "UInt16" , 2, TYPE_GC_NONE, false, true, false, false, false) // 0x07 |
19 | TYPEINFO(ELEMENT_TYPE_I4, "System" , "Int32" , 4, TYPE_GC_NONE, false, true, false, false, false) // 0x08 |
20 | TYPEINFO(ELEMENT_TYPE_U4, "System" , "UInt32" , 4, TYPE_GC_NONE, false, true, false, false, false) // 0x09 |
21 | TYPEINFO(ELEMENT_TYPE_I8, "System" , "Int64" , 8, TYPE_GC_NONE, false, true, false, false, false) // 0x0a |
22 | TYPEINFO(ELEMENT_TYPE_U8, "System" , "UInt64" , 8, TYPE_GC_NONE, false, true, false, false, false) // 0x0b |
23 | |
24 | TYPEINFO(ELEMENT_TYPE_R4, "System" , "Single" , 4, TYPE_GC_NONE, false, true, true, false, false) // 0x0c |
25 | TYPEINFO(ELEMENT_TYPE_R8, "System" , "Double" , 8, TYPE_GC_NONE, false, true, true, false, false) // 0x0d |
26 | |
27 | TYPEINFO(ELEMENT_TYPE_STRING, "System" , "String" , TARGET_POINTER_SIZE, TYPE_GC_REF, false, false, false, false, false) // 0x0e |
28 | TYPEINFO(ELEMENT_TYPE_PTR, NULL, NULL, TARGET_POINTER_SIZE, TYPE_GC_NONE, false, false, false, true, false) // 0x0f |
29 | TYPEINFO(ELEMENT_TYPE_BYREF, NULL, NULL, TARGET_POINTER_SIZE, TYPE_GC_BYREF, false, false, false, true, false) // 0x10 |
30 | TYPEINFO(ELEMENT_TYPE_VALUETYPE, NULL, NULL, NO_SIZE, TYPE_GC_OTHER, false, false, false, false, false) // 0x11 |
31 | TYPEINFO(ELEMENT_TYPE_CLASS, NULL, NULL, TARGET_POINTER_SIZE, TYPE_GC_REF, false, false, false, false, false) // 0x12 |
32 | TYPEINFO(ELEMENT_TYPE_VAR, NULL, NULL, TARGET_POINTER_SIZE, TYPE_GC_OTHER, false, false, false, false, true) // 0x13 |
33 | TYPEINFO(ELEMENT_TYPE_ARRAY, NULL, NULL, TARGET_POINTER_SIZE, TYPE_GC_REF, true, false, false, true, false) // 0x14 |
34 | |
35 | TYPEINFO(ELEMENT_TYPE_GENERICINST, NULL, NULL, TARGET_POINTER_SIZE, TYPE_GC_OTHER, false, false, false, false, false) // 0x15 |
36 | TYPEINFO(ELEMENT_TYPE_TYPEDBYREF, "System" , "TypedReference" ,2*TARGET_POINTER_SIZE,TYPE_GC_BYREF, false, false, false, false, false) // 0x16 |
37 | TYPEINFO(ELEMENT_TYPE_VALUEARRAY_UNSUPPORTED, NULL,NULL, NO_SIZE, TYPE_GC_NONE, false, false, false, false, false) // 0x17 (unsupported, not in the ECMA spec) |
38 | |
39 | TYPEINFO(ELEMENT_TYPE_I, "System" , "IntPtr" , TARGET_POINTER_SIZE, TYPE_GC_NONE, false, true, false, false, false) // 0x18 |
40 | TYPEINFO(ELEMENT_TYPE_U, "System" , "UIntPtr" , TARGET_POINTER_SIZE, TYPE_GC_NONE, false, true, false, false, false) // 0x19 |
41 | TYPEINFO(ELEMENT_TYPE_R_UNSUPPORTED,NULL, NULL, NO_SIZE, TYPE_GC_NONE, false, false, false, false, false) // 0x1a (unsupported, not in the ECMA spec) |
42 | |
43 | TYPEINFO(ELEMENT_TYPE_FNPTR, NULL, NULL, TARGET_POINTER_SIZE, TYPE_GC_NONE, false, false, false, false, false) // 0x1b |
44 | TYPEINFO(ELEMENT_TYPE_OBJECT, "System" , "Object" , TARGET_POINTER_SIZE, TYPE_GC_REF, false, false, false, false, false) // 0x1c |
45 | TYPEINFO(ELEMENT_TYPE_SZARRAY, NULL, NULL, TARGET_POINTER_SIZE, TYPE_GC_REF, true, false, false, true, false) // 0x1d |
46 | TYPEINFO(ELEMENT_TYPE_MVAR, NULL, NULL, TARGET_POINTER_SIZE, TYPE_GC_OTHER, false, false, false, false, true) // x01e |
47 | TYPEINFO(ELEMENT_TYPE_CMOD_REQD, NULL, NULL, 0, TYPE_GC_NONE, false, false, false, false, false) // 0x1f |
48 | TYPEINFO(ELEMENT_TYPE_CMOD_OPT, NULL, NULL, 0, TYPE_GC_NONE, false, false, false, false, false) // 0x20 |
49 | TYPEINFO(ELEMENT_TYPE_INTERNAL, NULL, NULL, 0, TYPE_GC_OTHER, false, false, false, false, false) // 0x21 |
50 | |