Pretty draw app_events, s8->string
This commit is contained in:
@@ -81,7 +81,7 @@ struct lex_t {
|
||||
|
||||
union {
|
||||
struct {char *str; i64 len;};
|
||||
s8_t s8;
|
||||
s8_t string;
|
||||
};
|
||||
|
||||
i32 line;
|
||||
@@ -371,7 +371,7 @@ void lex_token_ex(lexer_t *lex, lex_t *token) {
|
||||
if (token->kind == lex_kind_integer) {
|
||||
token->integer = lex_deserial_u64(token->str, token->len, 10);
|
||||
} else if (token->kind == lex_kind_real) {
|
||||
token->real = s8_deserial_f64(token->s8);
|
||||
token->real = s8_deserial_f64(token->string);
|
||||
} else if (token->kind == lex_kind_string) {
|
||||
token->str += 1;
|
||||
token->len -= 2;
|
||||
@@ -469,7 +469,7 @@ lex_t *parser_match(parser_t *par, lex_kind_t kind) {
|
||||
}
|
||||
|
||||
lex_t *parser_matchi(parser_t *par, s8_t str) {
|
||||
if (par->at->kind == lex_kind_ident && s8_equal(par->at->s8, str)) {
|
||||
if (par->at->kind == lex_kind_ident && s8_equal(par->at->string, str)) {
|
||||
return parser_next(par);
|
||||
} else {
|
||||
return NULL;
|
||||
|
||||
@@ -311,7 +311,7 @@ s8_t s8_fmt(ma_arena_t *ma, const char *str, ...) {
|
||||
//
|
||||
sb8_node_t *sb8_node(ma_arena_t *ma, s8_t str) {
|
||||
sb8_node_t *node = ma_push_type(ma, sb8_node_t);
|
||||
node->s = str;
|
||||
node->string = str;
|
||||
return node;
|
||||
}
|
||||
|
||||
|
||||
@@ -315,15 +315,15 @@ void s8_deserial_data_ex(ma_arena_t *arena, parser_t *par, void *p, type_t *type
|
||||
if (type == &type__s8_t) {
|
||||
lex_t *token = parser_expect(par, lex_kind_string);
|
||||
s8_t *n = (s8_t *)p;
|
||||
n[0] = s8_copy(arena, token->s8);
|
||||
n[0] = s8_copy(arena, token->string);
|
||||
return;
|
||||
}
|
||||
|
||||
if (type->kind == type_kind_enum) {
|
||||
lex_t *token = parser_expect(par, lex_kind_ident);
|
||||
i64 value = ti_enum_name_to_value(type, token->s8);
|
||||
i64 value = ti_enum_name_to_value(type, token->string);
|
||||
if (value == -1) {
|
||||
panicf("invalid enum value: %S", token->s8);
|
||||
panicf("invalid enum value: %S", token->string);
|
||||
}
|
||||
if (type->size == 1) {
|
||||
*(i8 *)p = (i8)value;
|
||||
@@ -348,12 +348,12 @@ void s8_deserial_data_ex(ma_arena_t *arena, parser_t *par, void *p, type_t *type
|
||||
lex_t *ident = parser_expect(par, lex_kind_ident);
|
||||
parser_expect(par, lex_kind_colon);
|
||||
|
||||
type_member_t *mem = ti_get_member(type, ident->s8);
|
||||
type_member_t *mem = ti_get_member(type, ident->string);
|
||||
if (mem) {
|
||||
u8 *mem_p = p8 + mem->offset;
|
||||
s8_deserial_data_ex(arena, par, mem_p, mem->type);
|
||||
} else {
|
||||
debugf("deserial - skipping field: %S", ident->s8);
|
||||
debugf("deserial - skipping field: %S", ident->string);
|
||||
parser_eat_until(par, lex_kind_comma);
|
||||
}
|
||||
|
||||
@@ -368,7 +368,7 @@ void s8_deserial_data_ex(ma_arena_t *arena, parser_t *par, void *p, type_t *type
|
||||
|
||||
lex_t *ident = parser_expect(par, lex_kind_ident);
|
||||
parser_expect(par, lex_kind_colon);
|
||||
assert(s8_equal(ident->s8, mem->name));
|
||||
assert(s8_equal(ident->string, mem->name));
|
||||
|
||||
s8_deserial_data_ex(arena, par, mem_p, mem->type);
|
||||
parser_expect(par, lex_kind_comma);
|
||||
|
||||
@@ -287,7 +287,7 @@ struct sb8_node_t {
|
||||
sb8_node_t *next;
|
||||
union {
|
||||
struct { char *str; int64_t len; };
|
||||
s8_t s;
|
||||
s8_t string;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user