private Pointer <ES_TypeInfo> GenerateBuiltinTypes_Float(ES_FloatSize size) { var floatDataPtr = EnvironmentBuilder !.MemoryManager.GetMemory <ES_FloatTypeData> (); var namePtr = Environment !.IdPool.GetIdentifier(ES_PrimitiveTypes.GetFloatName(size)); var fqn = new ES_FullyQualifiedName(Environment.GlobalTypesNamespace, namePtr); *floatDataPtr = new ES_FloatTypeData(ES_AccessModifier.Public, ArrayPointer <byte> .Null, fqn, size); return(new Pointer <ES_TypeInfo> (&floatDataPtr->TypeInfo)); }
public ES_FloatTypeData( ES_AccessModifier accessMod, ArrayPointer <byte> sourceUnit, ES_FullyQualifiedName fullyQualifiedName, ES_FloatSize size ) { TypeInfo = new ES_TypeInfo(ES_TypeTag.Float, accessMod, ES_TypeFlag.NoRefs, sourceUnit, fullyQualifiedName); FloatSize = size; TypeInfo.RuntimeSize = size switch { ES_FloatSize.Single => 4, ES_FloatSize.Double => 8, _ => throw new NotImplementedException("Size not implemented."), }; }