219 references to CorElementType
Microsoft.Diagnostics.DataContractReader.Abstractions (5)
Contracts\IRuntimeTypeSystem.cs (5)
172
CorElementType
GetSignatureCorElementType(TypeHandle typeHandle) => throw new NotImplementedException();
178
CorElementType
GetInternalCorElementType(TypeHandle typeHandle) => throw new NotImplementedException();
186
TypeHandle GetConstructedType(TypeHandle typeHandle,
CorElementType
corElementType, int rank, ImmutableArray<TypeHandle> typeArguments) => throw new NotImplementedException();
187
TypeHandle GetPrimitiveType(
CorElementType
typeCode) => throw new NotImplementedException();
266
CorElementType
GetFieldDescType(TargetPointer fieldDescPointer) => throw new NotImplementedException();
Microsoft.Diagnostics.DataContractReader.Contracts (94)
Contracts\Object_1.cs (4)
71
CorElementType
corType = typeSystemContract.GetSignatureCorElementType(typeHandle);
72
Debug.Assert(corType is
CorElementType
.Array or
CorElementType
.SzArray);
73
if (corType ==
CorElementType
.Array)
Contracts\RuntimeTypeSystem_1.cs (63)
74
public TypeKey(TypeHandle typeHandle,
CorElementType
elementType, int rank, ImmutableArray<TypeHandle> typeArgs)
82
public
CorElementType
ElementType { get; }
566
CorElementType
elementType = GetSignatureCorElementType(typeHandle);
568
return elementType is
CorElementType
.Class or
CorElementType
.Array or
CorElementType
.SzArray;
796
CorElementType
type = GetSignatureCorElementType(typeHandle);
797
if (type ==
CorElementType
.Var || type ==
CorElementType
.MVar)
805
else if (type ==
CorElementType
.FnPtr)
831
CorElementType
elemType = (
CorElementType
)(typeDesc.TypeAndFlags & 0xFF);
834
case
CorElementType
.ValueType:
835
case
CorElementType
.Byref:
836
case
CorElementType
.Ptr:
843
public
CorElementType
GetSignatureCorElementType(TypeHandle typeHandle)
852
return
CorElementType
.Array;
854
return
CorElementType
.SzArray;
858
return
CorElementType
.ValueType;
860
return (
CorElementType
)GetClassData(typeHandle).InternalCorElementType;
862
return
CorElementType
.Class;
868
return (
CorElementType
)(typeDesc.TypeAndFlags & 0xFF);
874
public
CorElementType
GetInternalCorElementType(TypeHandle typeHandle)
876
CorElementType
sigType = GetSignatureCorElementType(typeHandle);
877
if (sigType ==
CorElementType
.ValueType && typeHandle.IsMethodTable())
879
CorElementType
internalType = (
CorElementType
)GetClassData(typeHandle).InternalCorElementType;
880
if (internalType !=
CorElementType
.ValueType)
897
return (
CorElementType
)(typeDesc.TypeAndFlags & 0xFF) ==
CorElementType
.ValueType;
911
CorElementType
sigType = GetSignatureCorElementType(typeHandle);
912
if (sigType !=
CorElementType
.ValueType)
915
CorElementType
internalType = (
CorElementType
)GetClassData(typeHandle).InternalCorElementType;
916
return internalType !=
CorElementType
.ValueType;
958
CorElementType
elemType = (
CorElementType
)(typeDesc.TypeAndFlags & 0xFF);
961
case
CorElementType
.ValueType:
962
case
CorElementType
.Byref:
963
case
CorElementType
.Ptr:
1001
private bool ArrayPtrMatch(TypeHandle elementType,
CorElementType
corElementType, int rank, TypeHandle potentialMatch)
1006
(corElementType ==
CorElementType
.SzArray || corElementType ==
CorElementType
.Byref ||
1007
corElementType ==
CorElementType
.Ptr || (rank == typeHandleRank));
1026
TypeHandle IRuntimeTypeSystem.GetConstructedType(TypeHandle typeHandle,
CorElementType
corElementType, int rank, ImmutableArray<TypeHandle> typeArguments)
1039
if (corElementType ==
CorElementType
.GenericInst)
1056
TypeHandle IRuntimeTypeSystem.GetPrimitiveType(
CorElementType
typeCode)
1188
CorElementType
elemType = (
CorElementType
)(typeDesc.TypeAndFlags & 0xFF);
1191
case
CorElementType
.MVar:
1192
case
CorElementType
.Var:
1210
CorElementType
elemType = (
CorElementType
)(typeDesc.TypeAndFlags & 0xFF);
1211
if (elemType !=
CorElementType
.FnPtr)
1226
CorElementType
elemType = (
CorElementType
)(typeDesc.TypeAndFlags & 0xFF);
1227
return elemType ==
CorElementType
.Ptr;
2015
CorElementType
IRuntimeTypeSystem.GetFieldDescType(TargetPointer fieldDescPointer)
2019
return (
CorElementType
)((fieldDesc.DWord2 & (uint)FieldDescFlags2.TypeMask) >> TYPE_MASK_OFFSET);
2094
CorElementType
type = ((IRuntimeTypeSystem)this).GetFieldDescType(fieldDescPointer);
2096
if (type ==
CorElementType
.Class || type ==
CorElementType
.ValueType)
2130
if (unboxValueTypes && type ==
CorElementType
.ValueType && !isRVA)
Contracts\Signature\SignatureTypeProvider.cs (6)
29
=> _runtimeTypeSystem.GetConstructedType(elementType,
CorElementType
.Array, shape.Rank, []);
32
=> _runtimeTypeSystem.GetConstructedType(elementType,
CorElementType
.Byref, 0, []);
38
=> _runtimeTypeSystem.GetConstructedType(genericType,
CorElementType
.GenericInst, 0, typeArguments);
66
=> _runtimeTypeSystem.GetConstructedType(elementType,
CorElementType
.Ptr, 0, []);
69
=> _runtimeTypeSystem.GetPrimitiveType((
CorElementType
)typeCode);
72
=> _runtimeTypeSystem.GetConstructedType(elementType,
CorElementType
.SzArray, 1, []);
Contracts\StackWalk\GC\GcSignatureTypeProvider.cs (21)
46
/// using the actual <see cref="
CorElementType
"/>, matching native
184
CorElementType
corType = rts.GetSignatureCorElementType(typeHandle);
188
case
CorElementType
.Void:
189
case
CorElementType
.Boolean:
190
case
CorElementType
.Char:
191
case
CorElementType
.I1:
192
case
CorElementType
.U1:
193
case
CorElementType
.I2:
194
case
CorElementType
.U2:
195
case
CorElementType
.I4:
196
case
CorElementType
.U4:
197
case
CorElementType
.I8:
198
case
CorElementType
.U8:
199
case
CorElementType
.R4:
200
case
CorElementType
.R8:
201
case
CorElementType
.I:
202
case
CorElementType
.U:
203
case
CorElementType
.FnPtr:
204
case
CorElementType
.Ptr:
207
case
CorElementType
.Byref:
210
case
CorElementType
.ValueType:
Microsoft.Diagnostics.DataContractReader.Legacy (120)
ClrDataFrame.cs (23)
613
private static (uint Flags, int Size) MapCorElementTypeToFlags(
CorElementType
elementType)
617
CorElementType
.Boolean => ((uint)ClrDataValueFlag.IS_PRIMITIVE, 1),
618
CorElementType
.I1 or
CorElementType
.U1 => ((uint)ClrDataValueFlag.IS_PRIMITIVE, 1),
619
CorElementType
.Char or
CorElementType
.I2 or
CorElementType
.U2 => ((uint)ClrDataValueFlag.IS_PRIMITIVE, 2),
620
CorElementType
.I4 or
CorElementType
.U4 or
CorElementType
.R4 => ((uint)ClrDataValueFlag.IS_PRIMITIVE, 4),
621
CorElementType
.I8 or
CorElementType
.U8 or
CorElementType
.R8 => ((uint)ClrDataValueFlag.IS_PRIMITIVE, 8),
622
CorElementType
.I or
CorElementType
.U => ((uint)ClrDataValueFlag.IS_PRIMITIVE, -1),
623
CorElementType
.String or
CorElementType
.Object or
CorElementType
.Class
624
or
CorElementType
.SzArray or
CorElementType
.Array => ((uint)ClrDataValueFlag.IS_REFERENCE, -1),
625
CorElementType
.Ptr => ((uint)ClrDataValueFlag.IS_POINTER, -1),
626
CorElementType
.ValueType => ((uint)ClrDataValueFlag.IS_VALUE_TYPE, -1),
772
CorElementType
elementType = rts.GetSignatureCorElementType(resolvedType);
Dbi\DacDbiImpl.cs (6)
1556
Contracts.TypeHandle typeHandle = rts.GetPrimitiveType((
CorElementType
)simpleType);
2047
pLayout->type = (int)(rts.IsString(typeHandle) ?
CorElementType
.String : rts.GetInternalCorElementType(typeHandle));
2091
TypeHandle charTypeHandle = rts.GetPrimitiveType(
CorElementType
.Char);
2094
pLayout->componentType =
CorElementType
.Char;
2108
CorElementType
componentType = rts.IsString(componentTypeHandle) ?
CorElementType
.String : rts.GetInternalCorElementType(componentTypeHandle);
Dbi\IDacDbiInterface.cs (2)
7
using CorElementType = Microsoft.Diagnostics.DataContractReader.Contracts.
CorElementType
;
136
public
CorElementType
componentType;
ISOSDacInterface.cs (3)
7
using CorElementType = Microsoft.Diagnostics.DataContractReader.Contracts.
CorElementType
;
426
public
CorElementType
Type;
427
public
CorElementType
sigType; // ELEMENT_TYPE_XXX from signature. We need this to display pretty name for String in minidump's case
MetaDataImportImpl.cs (4)
627
*pdwCPlusTypeFlag = (uint)
CorElementType
.Void;
645
*pcchValue = (uint)constant.TypeCode == (uint)
CorElementType
.String ? (uint)valueReader.Length / sizeof(char) : (uint)valueReader.Length;
1567
*pdwCPlusTypeFlag = (uint)
CorElementType
.Void;
1585
*pcchValue = (uint)constant.TypeCode == (uint)
CorElementType
.String ? (uint)valueReader.Length / sizeof(char) : (uint)valueReader.Length;
SigFormat.cs (67)
107
switch ((
CorElementType
)signature.ReadByte())
109
case
CorElementType
.Void: stringBuilder.Append("Void"); return;
110
case
CorElementType
.Boolean: stringBuilder.Append("Boolean"); return;
111
case
CorElementType
.I: stringBuilder.Append("IntPtr"); return;
112
case
CorElementType
.U: stringBuilder.Append("UIntPtr"); return;
113
case
CorElementType
.I1: stringBuilder.Append("SByte"); return;
114
case
CorElementType
.U1: stringBuilder.Append("Byte"); return;
115
case
CorElementType
.I2: stringBuilder.Append("Int16"); return;
116
case
CorElementType
.U2: stringBuilder.Append("UInt16"); return;
117
case
CorElementType
.I4: stringBuilder.Append("Int32"); return;
118
case
CorElementType
.U4: stringBuilder.Append("UInt32"); return;
119
case
CorElementType
.I8: stringBuilder.Append("Int64"); return;
120
case
CorElementType
.U8: stringBuilder.Append("UInt64"); return;
121
case
CorElementType
.R4: stringBuilder.Append("Single"); return;
122
case
CorElementType
.R8: stringBuilder.Append("Double"); return;
123
case
CorElementType
.Char: stringBuilder.Append("Char"); return;
125
case
CorElementType
.Object: stringBuilder.Append("System.Object"); return;
126
case
CorElementType
.String: stringBuilder.Append("System.String"); return;
128
case
CorElementType
.ValueType:
129
case
CorElementType
.Class:
157
case
CorElementType
.Internal:
163
case
CorElementType
.FnPtr:
164
case
CorElementType
.Ptr:
167
case
CorElementType
.ValueType:
174
case
CorElementType
.Byref:
175
case
CorElementType
.Array:
197
case
CorElementType
.TypedByRef:
201
case
CorElementType
.Byref:
206
case
CorElementType
.Ptr:
211
case
CorElementType
.MVar:
223
case
CorElementType
.Var:
235
case
CorElementType
.GenericInst:
248
case
CorElementType
.SzArray:
253
case
CorElementType
.Array:
274
case
CorElementType
.FnPtr:
294
case
CorElementType
.CModOpt:
295
case
CorElementType
.CModReqd:
299
case
CorElementType
.CModInternal:
317
CorElementType
corElementType = runtimeTypeSystem.GetSignatureCorElementType(typeHandle);
318
if (corElementType ==
CorElementType
.ValueType && runtimeTypeSystem.HasTypeParam(typeHandle))
325
case
CorElementType
.Void: stringBuilder.Append("Void"); return;
326
case
CorElementType
.Boolean: stringBuilder.Append("Boolean"); return;
327
case
CorElementType
.I: stringBuilder.Append("IntPtr"); return;
328
case
CorElementType
.U: stringBuilder.Append("UIntPtr"); return;
329
case
CorElementType
.I1: stringBuilder.Append("SByte"); return;
330
case
CorElementType
.U1: stringBuilder.Append("Byte"); return;
331
case
CorElementType
.I2: stringBuilder.Append("Int16"); return;
332
case
CorElementType
.U2: stringBuilder.Append("UInt16"); return;
333
case
CorElementType
.I4: stringBuilder.Append("Int32"); return;
334
case
CorElementType
.U4: stringBuilder.Append("UInt32"); return;
335
case
CorElementType
.I8: stringBuilder.Append("Int64"); return;
336
case
CorElementType
.U8: stringBuilder.Append("UInt64"); return;
337
case
CorElementType
.R4: stringBuilder.Append("Single"); return;
338
case
CorElementType
.R8: stringBuilder.Append("Double"); return;
339
case
CorElementType
.Char: stringBuilder.Append("Char"); return;
341
case
CorElementType
.Object: stringBuilder.Append("System.Object"); return;
342
case
CorElementType
.String: stringBuilder.Append("System.String"); return;
344
case
CorElementType
.ValueType:
345
case
CorElementType
.Class:
376
case
CorElementType
.TypedByRef:
380
case
CorElementType
.Byref:
385
case
CorElementType
.Ptr:
390
case
CorElementType
.MVar:
391
case
CorElementType
.Var:
399
case
CorElementType
.SzArray:
404
case
CorElementType
.Array:
416
case
CorElementType
.FnPtr:
SOSDacImpl.cs (8)
1085
CorElementType
fieldDescType = rtsContract.GetFieldDescType(fieldDescTargetPtr);
1109
data->MTOfType = rtsContract.GetPrimitiveType(
CorElementType
.U).Address.ToClrDataAddress(_target);
1141
CorElementType
typeCode;
1146
typeCode = (
CorElementType
)blobReader.ReadByte();
1148
} while (typeCode is
CorElementType
.CModReqd or
CorElementType
.CModOpt); // eat custom modifiers
1150
if (typeCode is
CorElementType
.Class or
CorElementType
.ValueType)
TypeNameBuilder.cs (7)
215
var
elemType = typeSystemContract.GetSignatureCorElementType(typeHandle);
216
if (elemType != Contracts.
CorElementType
.ValueType)
567
private static void AppendParamTypeQualifier(ref TypeNameBuilder tnb,
CorElementType
kind, uint rank)
571
case
CorElementType
.Byref:
574
case
CorElementType
.Ptr:
577
case
CorElementType
.SzArray:
580
case
CorElementType
.Array: