node->type = resolve_expression_type(((AstArgument *) node)->value);
}
+ if (node_is_type((AstNode *) node)) {
+ return NULL;
+ }
+
if (node->type == NULL)
node->type = type_build_from_ast(semstate.allocator, node->type_node);
}
static void symres_expression(AstTyped** expr) {
+ if (node_is_type((AstNode *) *expr)) {
+ *((AstType **) expr) = symres_type((AstType *) *expr);
+ return;
+ }
+
switch ((*expr)->kind) {
case Ast_Kind_Symbol:
*expr = (AstTyped *) symbol_resolve(semstate.curr_scope, ((AstNode *) *expr)->token);