58 references to GcTypeKind
Microsoft.Diagnostics.DataContractReader.Contracts (58)
Contracts\StackWalk\GC\GcSignatureTypeProvider.cs (58)
50: IRuntimeSignatureTypeProvider<GcTypeKind, GcSignatureContext>
61public GcTypeKind GetPrimitiveType(PrimitiveTypeCode typeCode)
64PrimitiveTypeCode.String or PrimitiveTypeCode.Object => GcTypeKind.Ref,
65PrimitiveTypeCode.TypedReference => GcTypeKind.Other,
66_ => GcTypeKind.None,
69public GcTypeKind GetTypeFromDefinition(MetadataReader reader, TypeDefinitionHandle handle, byte rawTypeKind)
72public GcTypeKind GetTypeFromReference(MetadataReader reader, TypeReferenceHandle handle, byte rawTypeKind)
75public GcTypeKind GetTypeFromSpecification(MetadataReader reader, GcSignatureContext genericContext, TypeSpecificationHandle handle, byte rawTypeKind)
76=> rawTypeKind == (byte)SignatureTypeKind.ValueType ? GcTypeKind.Other : GcTypeKind.Ref;
78public GcTypeKind GetSZArrayType(GcTypeKind elementType) => GcTypeKind.Ref;
79public GcTypeKind GetArrayType(GcTypeKind elementType, ArrayShape shape) => GcTypeKind.Ref;
80public GcTypeKind GetByReferenceType(GcTypeKind elementType) => GcTypeKind.Interior;
81public GcTypeKind GetPointerType(GcTypeKind elementType) => GcTypeKind.None;
83public GcTypeKind GetGenericInstantiation(GcTypeKind genericType, ImmutableArray<GcTypeKind> typeArguments)
86public GcTypeKind GetGenericMethodParameter(GcSignatureContext genericContext, int index)
92return GcTypeKind.Ref;
97return GcTypeKind.Ref;
101public GcTypeKind GetGenericTypeParameter(GcSignatureContext genericContext, int index)
116return GcTypeKind.Ref;
122return GcTypeKind.Ref;
127return GcTypeKind.Ref;
131public GcTypeKind GetFunctionPointerType(MethodSignature<GcTypeKind> signature) => GcTypeKind.None;
132public GcTypeKind GetModifiedType(GcTypeKind modifier, GcTypeKind unmodifiedType, bool isRequired) => unmodifiedType;
133public GcTypeKind GetInternalModifiedType(TargetPointer typeHandlePointer, GcTypeKind unmodifiedType, bool isRequired) => unmodifiedType;
134public GcTypeKind GetPinnedType(GcTypeKind elementType) => elementType;
136public GcTypeKind GetInternalType(TargetPointer typeHandlePointer)
139return GcTypeKind.None;
147return GcTypeKind.Ref;
156private GcTypeKind ClassifyTokenLookup(TargetPointer lookupTable, int token, byte rawTypeKind)
162return rawTypeKind == (byte)SignatureTypeKind.ValueType ? GcTypeKind.Other : GcTypeKind.Ref;
168return rawTypeKind == (byte)SignatureTypeKind.ValueType ? GcTypeKind.Other : GcTypeKind.Ref;
175/// enums collapse to their underlying primitive (<see cref="GcTypeKind.None"/>) so
178private GcTypeKind ClassifyTypeHandle(TypeHandle typeHandle)
181return GcTypeKind.Ref;
205return GcTypeKind.None;
208return GcTypeKind.Interior;
213return rts.IsEnum(typeHandle) ? GcTypeKind.None : GcTypeKind.Other;
216return GcTypeKind.Ref;