Redefine NULL_* values as #defines so they can be constant initializers

This commit is contained in:
Bruce Hill 2024-09-28 14:17:17 -04:00
parent 794c1343ba
commit 8f717fe9f4
2 changed files with 6 additions and 13 deletions

View File

@ -11,13 +11,6 @@
#include "text.h"
#include "util.h"
public const Array_t NULL_ARRAY = {.length=-1};
public const OptionalBool_t NULL_BOOL = 2;
public const Int_t NULL_INT = {.small=0};
public const Table_t NULL_TABLE = {.entries.length=-1};
public const Closure_t NULL_CLOSURE = {.fn=NULL};
public const Text_t NULL_TEXT = {.length=-1};
public PUREFUNC bool is_null(const void *obj, const TypeInfo *non_optional_type)
{
if (non_optional_type == &Int$info)

View File

@ -16,12 +16,12 @@
#define OptionalText_t Text_t
#define OptionalClosure_t Closure_t
extern const OptionalBool_t NULL_BOOL;
extern const OptionalTable_t NULL_TABLE;
extern const OptionalArray_t NULL_ARRAY;
extern const OptionalInt_t NULL_INT;
extern const OptionalClosure_t NULL_CLOSURE;
extern const OptionalText_t NULL_TEXT;
#define NULL_ARRAY ((Array_t){.length=-1})
#define NULL_BOOL ((OptionalBool_t)2)
#define NULL_INT ((OptionalInt_t){.small=0})
#define NULL_TABLE ((OptionalTable_t){.entries.length=-1})
#define NULL_CLOSURE ((OptionalClosure_t){.fn=NULL})
#define NULL_TEXT ((OptionalText_t){.length=-1})
PUREFUNC bool is_null(const void *obj, const TypeInfo *non_optional_type);
Text_t Optional$as_text(const void *obj, bool colorize, const TypeInfo *type);