Can parse variables

This commit is contained in:
2026-04-29 21:39:48 +02:00
parent 94ae665a0a
commit 0704284726
5 changed files with 108 additions and 15 deletions
+11 -9
View File
@@ -81,15 +81,17 @@ static void test_parser_alias_array(void) {
assert_true(valueType->builtin.isSigned, "expected signed");
}
static void test_parser_alias_and_import_mix(void) {
static void test_parser_variable_simple(void) {
Module* m = test_get_ast();
assert_not_null(m, "expected module to be parsed");
assert_int(2, (int)m->import_count, "expected 2 imports");
assert_int(2, (int)m->alias_count, "expected 2 aliases");
assert_str("foo", m->imports[0].module_name, "expected import 1 name 'foo'");
assert_str("bar", m->imports[1].module_name, "expected import 2 name 'bar'");
assert_str("myalias", m->aliases[0].name, "expected alias 1 name 'myalias'");
assert_str("otheralias", m->aliases[1].name, "expected alias 2 name 'otheralias'");
assert_int(1, (int)m->variable_count, "expected correct number of variables");
VariableDeclaration var = m->variables[0];
assert_str("my_var", var.name, "expected correct variable name");
assert_int(TYPE_EXPRESSION_BUILTIN, var.type.tag, "expected correct type tag");
assert_int(32, var.type.builtin.bitSize, "expected bitSize 32");
assert_true(var.type.builtin.isSigned, "expected signed");
assert_false(var.is_const, "expected not const");
assert_false(var.is_static, "expected not static");
}