private void GenerateBuiltinTypes() { Debug.Assert(Environment is not null); Debug.Assert(EnvironmentBuilder is not null); var globalTypesList = EnvironmentBuilder.GetOrCreateNamespace(Environment.GlobalTypesNamespace).NamespaceData.Types; globalTypesList.Add(GenerateBuiltinTypes_Int(ES_IntSize.Int8, false)); globalTypesList.Add(GenerateBuiltinTypes_Int(ES_IntSize.Int16, false)); globalTypesList.Add(GenerateBuiltinTypes_Int(ES_IntSize.Int32, false)); globalTypesList.Add(GenerateBuiltinTypes_Int(ES_IntSize.Int64, false)); globalTypesList.Add(GenerateBuiltinTypes_Int(ES_IntSize.Int8, true)); globalTypesList.Add(GenerateBuiltinTypes_Int(ES_IntSize.Int16, true)); globalTypesList.Add(GenerateBuiltinTypes_Int(ES_IntSize.Int32, true)); globalTypesList.Add(GenerateBuiltinTypes_Int(ES_IntSize.Int64, true)); var floatType = GenerateBuiltinTypes_Float(ES_FloatSize.Single); var doubleType = GenerateBuiltinTypes_Float(ES_FloatSize.Double); EnvironmentBuilder.TypeFloat32 = floatType; EnvironmentBuilder.TypeFloat64 = doubleType; globalTypesList.Add(floatType); globalTypesList.Add(doubleType); var voidType = GenerateBuiltinTypes_Simple(ES_PrimitiveTypes.Void, ES_TypeTag.Void, 0); var boolType = GenerateBuiltinTypes_Simple(ES_PrimitiveTypes.Bool, ES_TypeTag.Bool, 1); EnvironmentBuilder.TypeVoid = voidType; EnvironmentBuilder.TypeBool = boolType; globalTypesList.Add(voidType); globalTypesList.Add(boolType); }