//public MosaType ValueType { get; }
public BuiltInTypes(TypeSystem typeSystem, MosaModule corlib)
{
Void = typeSystem.GetTypeByName(corlib, "System", "Void");
Boolean = typeSystem.GetTypeByName(corlib, "System", "Boolean");
Char = typeSystem.GetTypeByName(corlib, "System", "Char");
I1 = typeSystem.GetTypeByName(corlib, "System", "SByte");
U1 = typeSystem.GetTypeByName(corlib, "System", "Byte");
I2 = typeSystem.GetTypeByName(corlib, "System", "Int16");
U2 = typeSystem.GetTypeByName(corlib, "System", "UInt16");
I4 = typeSystem.GetTypeByName(corlib, "System", "Int32");
U4 = typeSystem.GetTypeByName(corlib, "System", "UInt32");
I8 = typeSystem.GetTypeByName(corlib, "System", "Int64");
U8 = typeSystem.GetTypeByName(corlib, "System", "UInt64");
R4 = typeSystem.GetTypeByName(corlib, "System", "Single");
R8 = typeSystem.GetTypeByName(corlib, "System", "Double");
String = typeSystem.GetTypeByName(corlib, "System", "String");
Object = typeSystem.GetTypeByName(corlib, "System", "Object");
I = typeSystem.GetTypeByName(corlib, "System", "IntPtr");
U = typeSystem.GetTypeByName(corlib, "System", "UIntPtr");
TypedRef = typeSystem.GetTypeByName(corlib, "System", "TypedReference");
Pointer = Void.ToUnmanagedPointer();
//ValueType = typeSystem.GetTypeByName(corlib, "System", "ValueType");
}