Better support for Type types, squashing bugs due to pointer confusion etc.
This commit is contained in:
11
parsing.cpp
11
parsing.cpp
@@ -167,16 +167,15 @@ parse_expr_call(Ast_Expr *left, Token_Kind close_kind){
|
||||
Token *token = token_get();
|
||||
Ast_Atom *name = 0;
|
||||
Ast_Expr *index = 0;
|
||||
if(token_match(TK_OpenBracket)){
|
||||
index = parse_expr(0);
|
||||
token_expect(TK_CloseBracket);
|
||||
token_expect(TK_Assign);
|
||||
}
|
||||
|
||||
Ast_Expr *item = parse_expr();
|
||||
if(token_match(TK_Assign)){
|
||||
assert(is_flag_set(item->flags, AST_ATOM));
|
||||
name = (Ast_Atom *)item;
|
||||
if(item->kind != AST_IDENT){
|
||||
index = item;
|
||||
} else{
|
||||
name = (Ast_Atom *)item;
|
||||
}
|
||||
item = parse_expr();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user