// See usage in native RCW code
public void GetCurrentContextInfo(RuntimeTypeHandle rth, out bool isDesignTime, out IntPtr bstrKey)
{
- Type targetRcwTypeMaybe = Type.GetTypeFromHandle(rth);
+ Type targetRcwTypeMaybe = Type.GetTypeFromHandle(rth)!;
// Types are as follows:
// Type, out bool, out string -> LicenseContext
[Intrinsic]
[MethodImpl(MethodImplOptions.InternalCall)]
- public static extern Type GetTypeFromHandle(RuntimeTypeHandle handle);
+ public static extern Type? GetTypeFromHandle(RuntimeTypeHandle handle);
[Intrinsic]
[MethodImpl(MethodImplOptions.InternalCall)]
if (dataContract == null)
{
if (type == null)
- type = Type.GetTypeFromHandle(typeHandle);
+ type = Type.GetTypeFromHandle(typeHandle)!;
type = UnwrapNullableType(type);
if (dataContract == null)
{
if (type == null)
- type = Type.GetTypeFromHandle(typeHandle);
+ type = Type.GetTypeFromHandle(typeHandle)!;
type = UnwrapNullableType(type);
type = GetDataContractAdapterType(type);
if (!CollectionDataContract.TryCreateGetOnlyCollectionDataContract(type, out dataContract))
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
public override void WriteJsonValueCore(XmlWriterDelegator jsonWriter, object obj, XmlObjectSerializerWriteContextComplexJson? context, RuntimeTypeHandle declaredTypeHandle)
{
- DataContractSerializer dataContractSerializer = new DataContractSerializer(Type.GetTypeFromHandle(declaredTypeHandle),
+ DataContractSerializer dataContractSerializer = new DataContractSerializer(Type.GetTypeFromHandle(declaredTypeHandle)!,
GetKnownTypesFromContext(context, (context == null) ? null : context.SerializerKnownTypeList), 1, false, false); // maxItemsInObjectGraph // ignoreExtensionDataObject // preserveObjectReferences
MemoryStream memoryStream = new MemoryStream();
internal virtual object? InternalDeserialize(XmlReaderDelegator xmlReader, int id, RuntimeTypeHandle declaredTypeHandle, string name, string ns)
{
DataContract dataContract = GetDataContract(id, declaredTypeHandle);
- return InternalDeserialize(xmlReader, name, ns, Type.GetTypeFromHandle(declaredTypeHandle), ref dataContract);
+ return InternalDeserialize(xmlReader, name, ns, Type.GetTypeFromHandle(declaredTypeHandle)!, ref dataContract);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
if (_serializationSurrogateProvider == null)
return base.InternalDeserialize(xmlReader, declaredTypeID, declaredTypeHandle, name, ns);
else
- return InternalDeserializeWithSurrogate(xmlReader, Type.GetTypeFromHandle(declaredTypeHandle), null /*surrogateDataContract*/, name, ns);
+ return InternalDeserializeWithSurrogate(xmlReader, Type.GetTypeFromHandle(declaredTypeHandle)!, null /*surrogateDataContract*/, name, ns);
}
else
{
- return InternalDeserializeInSharedTypeMode(xmlReader, declaredTypeID, Type.GetTypeFromHandle(declaredTypeHandle), name, ns);
+ return InternalDeserializeInSharedTypeMode(xmlReader, declaredTypeID, Type.GetTypeFromHandle(declaredTypeHandle)!, name, ns);
}
}
}
else
{
- SerializeWithXsiType(xmlWriter, obj, objTypeHandle, null /*type*/, declaredTypeID, declaredTypeHandle, Type.GetTypeFromHandle(declaredTypeHandle));
+ SerializeWithXsiType(xmlWriter, obj, objTypeHandle, null /*type*/, declaredTypeID, declaredTypeHandle, Type.GetTypeFromHandle(declaredTypeHandle)!);
}
}
}
{
if (objectType == null)
{
- objectType = Type.GetTypeFromHandle(objectTypeHandle);
+ objectType = Type.GetTypeFromHandle(objectTypeHandle)!;
}
WriteResolvedTypeInfo(xmlWriter, objectType, declaredType);
}
RuntimeTypeHandle objTypeHandle = isDeclaredType ? declaredTypeHandle : obj.GetType().TypeHandle;
object oldObj = obj;
int objOldId = 0;
- Type objType = Type.GetTypeFromHandle(objTypeHandle);
- Type declaredType = GetSurrogatedType(Type.GetTypeFromHandle(declaredTypeHandle));
+ Type objType = Type.GetTypeFromHandle(objTypeHandle)!;
+ Type declaredType = GetSurrogatedType(Type.GetTypeFromHandle(declaredTypeHandle)!);
declaredTypeHandle = declaredType.TypeHandle;
public static System.Type? GetTypeFromCLSID(System.Guid clsid, string? server) { throw null; }
[System.Runtime.Versioning.SupportedOSPlatformAttribute("windows")]
public static System.Type? GetTypeFromCLSID(System.Guid clsid, string? server, bool throwOnError) { throw null; }
- public static System.Type GetTypeFromHandle(System.RuntimeTypeHandle handle) { throw null; }
+ public static System.Type? GetTypeFromHandle(System.RuntimeTypeHandle handle) { throw null; }
[System.Runtime.Versioning.SupportedOSPlatformAttribute("windows")]
public static System.Type? GetTypeFromProgID(string progID) { throw null; }
[System.Runtime.Versioning.SupportedOSPlatformAttribute("windows")]
for (int i = 0; i < n; i++)
{
RuntimeClassHandle c = new RuntimeClassHandle(value->constraints[i]);
- a[i] = Type.GetTypeFromHandle(c.GetTypeHandle());
+ a[i] = Type.GetTypeFromHandle(c.GetTypeHandle())!;
}
return a;
public int GetTokenFor(RuntimeTypeHandle type)
{
- Type t = Type.GetTypeFromHandle(type);
+ Type t = Type.GetTypeFromHandle(type)!;
return this.method.GetILGenerator().TokenGenerator.GetToken(t, false);
}
if (handle == IntPtr.Zero)
throw resolve_token_exception(module, metadataToken, error, "Type");
else
- return Type.GetTypeFromHandle(new RuntimeTypeHandle(handle));
+ return Type.GetTypeFromHandle(new RuntimeTypeHandle(handle))!;
}
[RequiresUnreferencedCode("Trimming changes metadata tokens")]
for (int i = 0; i < n; i++)
{
var th = new RuntimeTypeHandle(h[i]);
- a[i] = (RuntimeType)GetTypeFromHandle(th);
+ a[i] = (RuntimeType)GetTypeFromHandle(th)!;
}
return a;
}
if (value == IntPtr.Zero)
throw new InvalidOperationException("Object fields may not be properly initialized");
- return Type.GetTypeFromHandle(this).Module.ModuleHandle;
+ return Type.GetTypeFromHandle(this)!.Module.ModuleHandle;
}
[MethodImplAttribute(MethodImplOptions.InternalCall)]
return TypeNameParser.GetType(typeName, assemblyResolver, typeResolver, throwOnError, ignoreCase, ref stackMark);
}
- public static Type GetTypeFromHandle(RuntimeTypeHandle handle)
+ public static Type? GetTypeFromHandle(RuntimeTypeHandle handle)
{
if (handle.Value == IntPtr.Zero)
- return null!; // FIXME: shouldn't return null
+ return null;
return internal_from_handle(handle.Value);
}