public static unsafe RuntimeTypeHandle get_TypeHandle(CosmosRuntimeType aThis) { fixed(uint *ptr = &aThis.mTypeId) // this has to actually stay fixed { return(CreateRuntimeTypeHandle((int)(uint)ptr)); // internally they do weird stuff and store the pointer as an int, //so we need to pass the pointer straight away } }
public static Type GetTypeFromHandle(ulong aHandle) { uint x = (uint)(aHandle >> 32); uint *y = (uint *)x; uint xTypeId = *y; var xType = new CosmosRuntimeType(xTypeId); return(xType); }
public static bool op_Inequality(CosmosRuntimeType aLeft, CosmosRuntimeType aRight) { if (aLeft is null) { return(!(aRight is null)); } if (aRight is null) { return(true); } return(aLeft.mTypeId != aRight.mTypeId); }
public static bool op_Equality(CosmosRuntimeType aLeft, CosmosRuntimeType aRight) { if (aLeft is null) //Compare with null without equality check, since that causes stack overflow { return(aRight is null); } if (aRight is null) { return(false); } return(aLeft.mTypeId == aRight.mTypeId); }
public static bool op_Inequality(CosmosRuntimeType aLeft, CosmosRuntimeType aRight) { mDebugger.Send("Type.GetInequality"); return(aLeft.mTypeId != aRight.mTypeId); }
public static bool op_Equality(CosmosRuntimeType aLeft, CosmosRuntimeType aRight) { return(aLeft.mTypeId == aRight.mTypeId); }
public static Type get_BaseType(CosmosRuntimeType aThis) { return(aThis.BaseType); }