315 references to CorElementType
Microsoft.Diagnostics.DataContractReader.Abstractions (5)
Contracts\IRuntimeTypeSystem.cs (5)
181CorElementType GetSignatureCorElementType(TypeHandle typeHandle) => throw new NotImplementedException(); 187CorElementType GetInternalCorElementType(TypeHandle typeHandle) => throw new NotImplementedException(); 198TypeHandle GetConstructedType(TypeHandle typeHandle, CorElementType corElementType, int rank, ImmutableArray<TypeHandle> typeArguments, SignatureCallingConvention callConv = SignatureCallingConvention.Default) => throw new NotImplementedException(); 199TypeHandle GetPrimitiveType(CorElementType typeCode) => throw new NotImplementedException(); 279CorElementType GetFieldDescType(TargetPointer fieldDescPointer) => throw new NotImplementedException();
Microsoft.Diagnostics.DataContractReader.Contracts (124)
Contracts\ManagedTypeSource_1.cs (32)
132CorElementType type = rts.GetFieldDescType(fieldDescAddr); 133bool isGC = type is CorElementType.Class or CorElementType.ValueType; 167CorElementType type = rts.GetFieldDescType(fieldDescAddr); 168bool isGC = type is CorElementType.Class or CorElementType.ValueType; 234CorElementType elementType = rts.GetFieldDescType(fieldDescAddr); 348/// Maps an ECMA-335 <see cref="CorElementType"/> to a descriptor-type-name string consumed 352private static string? MapCorElementTypeToDescriptorName(CorElementType type) => type switch 354CorElementType.Boolean => "bool", 355CorElementType.I1 => "int8", 356CorElementType.U1 => "uint8", 357CorElementType.Char or CorElementType.U2 => "uint16", 358CorElementType.I2 => "int16", 359CorElementType.I4 => "int32", 360CorElementType.U4 => "uint32", 361CorElementType.I8 => "int64", 362CorElementType.U8 => "uint64", 363CorElementType.I => "nint", 364CorElementType.U => "nuint", 365CorElementType.String 366or CorElementType.Ptr 367or CorElementType.Byref 368or CorElementType.Class 369or CorElementType.Array 370or CorElementType.SzArray 371or CorElementType.GenericInst 372or CorElementType.Object 373or CorElementType.Var 374or CorElementType.MVar 375or CorElementType.FnPtr => "pointer",
Contracts\Object_1.cs (4)
71CorElementType corType = typeSystemContract.GetSignatureCorElementType(typeHandle); 72Debug.Assert(corType is CorElementType.Array or CorElementType.SzArray); 73if (corType == CorElementType.Array)
Contracts\RuntimeTypeSystem_1.cs (61)
75public TypeKey(TypeHandle typeHandle, CorElementType elementType, int rank, ImmutableArray<TypeHandle> typeArgs, SignatureCallingConvention callConv = SignatureCallingConvention.Default) 84public CorElementType ElementType { get; } 589CorElementType elementType = GetSignatureCorElementType(typeHandle); 591return elementType is CorElementType.Class or CorElementType.Array or CorElementType.SzArray; 841CorElementType type = GetSignatureCorElementType(typeHandle); 842if (type == CorElementType.Var || type == CorElementType.MVar) 850else if (type == CorElementType.FnPtr) 876CorElementType elemType = (CorElementType)(typeDesc.TypeAndFlags & 0xFF); 879case CorElementType.ValueType: 880case CorElementType.Byref: 881case CorElementType.Ptr: 888public CorElementType GetSignatureCorElementType(TypeHandle typeHandle) 897return CorElementType.Array; 899return CorElementType.SzArray; 903return CorElementType.ValueType; 905return (CorElementType)GetClassData(typeHandle).InternalCorElementType; 907return CorElementType.Class; 913return (CorElementType)(typeDesc.TypeAndFlags & 0xFF); 919public CorElementType GetInternalCorElementType(TypeHandle typeHandle) 921CorElementType sigType = GetSignatureCorElementType(typeHandle); 922if (sigType == CorElementType.ValueType && typeHandle.IsMethodTable()) 924CorElementType internalType = (CorElementType)GetClassData(typeHandle).InternalCorElementType; 925if (internalType != CorElementType.ValueType) 942return (CorElementType)(typeDesc.TypeAndFlags & 0xFF) == CorElementType.ValueType; 1008CorElementType elemType = (CorElementType)(typeDesc.TypeAndFlags & 0xFF); 1011case CorElementType.ValueType: 1012case CorElementType.Byref: 1013case CorElementType.Ptr: 1051private bool ArrayPtrMatch(TypeHandle elementType, CorElementType corElementType, int rank, TypeHandle potentialMatch) 1056(corElementType == CorElementType.SzArray || corElementType == CorElementType.Byref || 1057corElementType == CorElementType.Ptr || (rank == typeHandleRank)); 1092TypeHandle IRuntimeTypeSystem.GetConstructedType(TypeHandle typeHandle, CorElementType corElementType, int rank, ImmutableArray<TypeHandle> typeArguments, SignatureCallingConvention callConv) 1094if (typeHandle.Address == TargetPointer.Null && corElementType != CorElementType.FnPtr) 1100if (corElementType == CorElementType.FnPtr) 1110if (corElementType == CorElementType.GenericInst) 1118else if (corElementType == CorElementType.FnPtr) 1183TypeHandle IRuntimeTypeSystem.GetPrimitiveType(CorElementType typeCode) 1200CorElementType elemType = (CorElementType)(typeDesc.TypeAndFlags & 0xFF); 1203case CorElementType.MVar: 1204case CorElementType.Var: 1222CorElementType elemType = (CorElementType)(typeDesc.TypeAndFlags & 0xFF); 1223if (elemType != CorElementType.FnPtr) 1238CorElementType elemType = (CorElementType)(typeDesc.TypeAndFlags & 0xFF); 1239return elemType == CorElementType.Ptr; 2028CorElementType IRuntimeTypeSystem.GetFieldDescType(TargetPointer fieldDescPointer) 2032return (CorElementType)((fieldDesc.DWord2 & (uint)FieldDescFlags2.TypeMask) >> TYPE_MASK_OFFSET); 2109CorElementType type = ((IRuntimeTypeSystem)this).GetFieldDescType(fieldDescPointer); 2111if (type == CorElementType.Class || type == CorElementType.ValueType) 2145if (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 184CorElementType corType = rts.GetSignatureCorElementType(typeHandle); 188case CorElementType.Void: 189case CorElementType.Boolean: 190case CorElementType.Char: 191case CorElementType.I1: 192case CorElementType.U1: 193case CorElementType.I2: 194case CorElementType.U2: 195case CorElementType.I4: 196case CorElementType.U4: 197case CorElementType.I8: 198case CorElementType.U8: 199case CorElementType.R4: 200case CorElementType.R8: 201case CorElementType.I: 202case CorElementType.U: 203case CorElementType.FnPtr: 204case CorElementType.Ptr: 207case CorElementType.Byref: 210case CorElementType.ValueType:
Microsoft.Diagnostics.DataContractReader.Legacy (186)
ClrDataFrame.cs (23)
613private static (uint Flags, int Size) MapCorElementTypeToFlags(CorElementType elementType) 617CorElementType.Boolean => ((uint)ClrDataValueFlag.IS_PRIMITIVE, 1), 618CorElementType.I1 or CorElementType.U1 => ((uint)ClrDataValueFlag.IS_PRIMITIVE, 1), 619CorElementType.Char or CorElementType.I2 or CorElementType.U2 => ((uint)ClrDataValueFlag.IS_PRIMITIVE, 2), 620CorElementType.I4 or CorElementType.U4 or CorElementType.R4 => ((uint)ClrDataValueFlag.IS_PRIMITIVE, 4), 621CorElementType.I8 or CorElementType.U8 or CorElementType.R8 => ((uint)ClrDataValueFlag.IS_PRIMITIVE, 8), 622CorElementType.I or CorElementType.U => ((uint)ClrDataValueFlag.IS_PRIMITIVE, -1), 623CorElementType.String or CorElementType.Object or CorElementType.Class 624or CorElementType.SzArray or CorElementType.Array => ((uint)ClrDataValueFlag.IS_REFERENCE, -1), 625CorElementType.Ptr => ((uint)ClrDataValueFlag.IS_POINTER, -1), 626CorElementType.ValueType => ((uint)ClrDataValueFlag.IS_VALUE_TYPE, -1), 772CorElementType elementType = rts.GetSignatureCorElementType(resolvedType);
Dbi\DacDbiImpl.cs (72)
2017CorElementType type = rts.GetFieldDescType(fdPtr); 2089private static bool IsPrimitiveType(CorElementType type) 2091return (type < CorElementType.Ptr) 2092|| type == CorElementType.I 2093|| type == CorElementType.U; 2205switch ((CorElementType)ReadLittleEndian(cdac->elementType)) 2207case CorElementType.Class: 2208case CorElementType.ValueType: 2216case CorElementType.Array: 2217case CorElementType.SzArray: 2229case CorElementType.Ptr: 2230case CorElementType.Byref: 2240case CorElementType.FnPtr: 2302CorElementType et = (CorElementType)ReadLittleEndian(pTypeData->elementType); 2305case CorElementType.Array: 2306case CorElementType.SzArray: 2309case CorElementType.Ptr: 2310case CorElementType.Byref: 2313case CorElementType.Class: 2314case CorElementType.ValueType: 2317case CorElementType.FnPtr: 2347CorElementType et = (CorElementType)ReadLittleEndian(pData->elementType); 2351case CorElementType.Array: 2352case CorElementType.SzArray: 2353case CorElementType.Ptr: 2354case CorElementType.Byref: 2355case CorElementType.FnPtr: 2361case CorElementType.Class: 2362case CorElementType.ValueType: 2412CorElementType et = (CorElementType)ReadLittleEndian(pTopLevel->elementType); 2422CorElementType et = (CorElementType)ReadLittleEndian(pTopLevel->elementType); 2440return rts.GetConstructedType(typeConstructor, CorElementType.GenericInst, 0, builder.MoveToImmutable()); 2452return rts.GetConstructedType(default, CorElementType.FnPtr, 0, builder.MoveToImmutable()); 2759Contracts.TypeHandle typeHandle = rts.GetPrimitiveType((CorElementType)simpleType); 3694CorElementType signatureType = rts.GetSignatureCorElementType(fieldTypeHandle); 3695if (signatureType == CorElementType.Byref) 3697corField->fieldType = (int)CorElementType.Byref; 3699corField->id.token1 = rts.GetPrimitiveType(CorElementType.I).Address.Value; 3705TypeHandle mtHandle = (signatureType == CorElementType.Ptr || signatureType == CorElementType.FnPtr) 3706? rts.GetPrimitiveType(CorElementType.U) 3784pLayout->type = (int)(rts.IsString(typeHandle) ? CorElementType.String : rts.GetInternalCorElementType(typeHandle)); 3828TypeHandle charTypeHandle = rts.GetPrimitiveType(CorElementType.Char); 3831pLayout->componentType = CorElementType.Char; 3845CorElementType componentType = rts.IsString(componentTypeHandle) ? CorElementType.String : rts.GetInternalCorElementType(componentTypeHandle); 4528CorElementType elementType = GetElementType(rts, typeHandle); 4533case CorElementType.Array: 4534case CorElementType.SzArray: 4538case CorElementType.Ptr: 4539case CorElementType.Byref: 4543case CorElementType.ValueType: 4546WriteLittleEndian(ref pTypeInfo->elementType, (int)CorElementType.Class); 4551case CorElementType.Class: 4555case CorElementType.FnPtr: 4562WriteLittleEndian(ref pTypeInfo->elementType, (int)CorElementType.Class); 4572private static CorElementType GetElementType(IRuntimeTypeSystem rts, TypeHandle typeHandle) 4575return CorElementType.Void; 4578return CorElementType.String; 4581return CorElementType.Object; 4666CorElementType elementType = GetElementType(rts, typeHandle); 4671case CorElementType.Array: 4672case CorElementType.SzArray: 4673case CorElementType.FnPtr: 4674case CorElementType.Ptr: 4675case CorElementType.Byref: 4680case CorElementType.Class: 4681case CorElementType.ValueType:
Dbi\IDacDbiInterface.cs (2)
7using CorElementType = Microsoft.Diagnostics.DataContractReader.Contracts.CorElementType; 156public CorElementType componentType;
ISOSDacInterface.cs (3)
7using CorElementType = Microsoft.Diagnostics.DataContractReader.Contracts.CorElementType; 426public CorElementType Type; 427public 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)
107switch ((CorElementType)signature.ReadByte()) 109case CorElementType.Void: stringBuilder.Append("Void"); return; 110case CorElementType.Boolean: stringBuilder.Append("Boolean"); return; 111case CorElementType.I: stringBuilder.Append("IntPtr"); return; 112case CorElementType.U: stringBuilder.Append("UIntPtr"); return; 113case CorElementType.I1: stringBuilder.Append("SByte"); return; 114case CorElementType.U1: stringBuilder.Append("Byte"); return; 115case CorElementType.I2: stringBuilder.Append("Int16"); return; 116case CorElementType.U2: stringBuilder.Append("UInt16"); return; 117case CorElementType.I4: stringBuilder.Append("Int32"); return; 118case CorElementType.U4: stringBuilder.Append("UInt32"); return; 119case CorElementType.I8: stringBuilder.Append("Int64"); return; 120case CorElementType.U8: stringBuilder.Append("UInt64"); return; 121case CorElementType.R4: stringBuilder.Append("Single"); return; 122case CorElementType.R8: stringBuilder.Append("Double"); return; 123case CorElementType.Char: stringBuilder.Append("Char"); return; 125case CorElementType.Object: stringBuilder.Append("System.Object"); return; 126case CorElementType.String: stringBuilder.Append("System.String"); return; 128case CorElementType.ValueType: 129case CorElementType.Class: 157case CorElementType.Internal: 163case CorElementType.FnPtr: 164case CorElementType.Ptr: 167case CorElementType.ValueType: 174case CorElementType.Byref: 175case CorElementType.Array: 197case CorElementType.TypedByRef: 201case CorElementType.Byref: 206case CorElementType.Ptr: 211case CorElementType.MVar: 223case CorElementType.Var: 235case CorElementType.GenericInst: 248case CorElementType.SzArray: 253case CorElementType.Array: 274case CorElementType.FnPtr: 294case CorElementType.CModOpt: 295case CorElementType.CModReqd: 299case CorElementType.CModInternal: 317CorElementType corElementType = runtimeTypeSystem.GetSignatureCorElementType(typeHandle); 318if (corElementType == CorElementType.ValueType && runtimeTypeSystem.HasTypeParam(typeHandle)) 325case CorElementType.Void: stringBuilder.Append("Void"); return; 326case CorElementType.Boolean: stringBuilder.Append("Boolean"); return; 327case CorElementType.I: stringBuilder.Append("IntPtr"); return; 328case CorElementType.U: stringBuilder.Append("UIntPtr"); return; 329case CorElementType.I1: stringBuilder.Append("SByte"); return; 330case CorElementType.U1: stringBuilder.Append("Byte"); return; 331case CorElementType.I2: stringBuilder.Append("Int16"); return; 332case CorElementType.U2: stringBuilder.Append("UInt16"); return; 333case CorElementType.I4: stringBuilder.Append("Int32"); return; 334case CorElementType.U4: stringBuilder.Append("UInt32"); return; 335case CorElementType.I8: stringBuilder.Append("Int64"); return; 336case CorElementType.U8: stringBuilder.Append("UInt64"); return; 337case CorElementType.R4: stringBuilder.Append("Single"); return; 338case CorElementType.R8: stringBuilder.Append("Double"); return; 339case CorElementType.Char: stringBuilder.Append("Char"); return; 341case CorElementType.Object: stringBuilder.Append("System.Object"); return; 342case CorElementType.String: stringBuilder.Append("System.String"); return; 344case CorElementType.ValueType: 345case CorElementType.Class: 376case CorElementType.TypedByRef: 380case CorElementType.Byref: 385case CorElementType.Ptr: 390case CorElementType.MVar: 391case CorElementType.Var: 399case CorElementType.SzArray: 404case CorElementType.Array: 416case CorElementType.FnPtr:
SOSDacImpl.cs (8)
1085CorElementType fieldDescType = rtsContract.GetFieldDescType(fieldDescTargetPtr); 1109data->MTOfType = rtsContract.GetPrimitiveType(CorElementType.U).Address.ToClrDataAddress(_target); 1141CorElementType typeCode; 1146typeCode = (CorElementType)blobReader.ReadByte(); 1148} while (typeCode is CorElementType.CModReqd or CorElementType.CModOpt); // eat custom modifiers 1150if (typeCode is CorElementType.Class or CorElementType.ValueType)
TypeNameBuilder.cs (7)
215var elemType = typeSystemContract.GetSignatureCorElementType(typeHandle); 216if (elemType != Contracts.CorElementType.ValueType) 567private static void AppendParamTypeQualifier(ref TypeNameBuilder tnb, CorElementType kind, uint rank) 571case CorElementType.Byref: 574case CorElementType.Ptr: 577case CorElementType.SzArray: 580case CorElementType.Array: