}
ast_store* ast_store_new(lex_ctx ctx, int op,
- ast_value *dest, ast_expression *source)
+ ast_expression *dest, ast_expression *source)
{
ast_instantiate(ast_store, ctx, ast_store_delete);
ast_expression_init((ast_expression*)self, (ast_expression_codegen*)&ast_store_codegen);
{
ast_expression_common expression;
int op;
- ast_value *dest; /* When we add pointers this might have to change to expression */
+ ast_expression *dest;
ast_expression *source;
};
ast_store* ast_store_new(lex_ctx ctx, int op,
- ast_value *d, ast_expression *s);
+ ast_expression *d, ast_expression *s);
void ast_store_delete(ast_store*);
bool ast_store_codegen(ast_store*, ast_function*, bool lvalue, ir_value**);
} while(0)
#define ASSIGN(op, a, b) \
-(ast_expression*)ast_store_new(ctx, INSTR_##op, (a), (ast_expression*)(b))
+(ast_expression*)ast_store_new(ctx, INSTR_##op, (ast_expression*)(a), (ast_expression*)(b))
#define BIN(op, a, b) \
(ast_expression*)ast_binary_new(ctx, INSTR_##op, (ast_expression*)(a), (ast_expression*)(b))