Lines Matching refs:expression
34 #include "expression.h"
39 static struct expression * dup_expression(struct expression *expr)
41 struct expression *dup = alloc_expression(expr->pos, expr->type);
78 static struct expression * copy_expression(struct expression *expr)
97 /* Atomics, never change, just return the expression directly */
107 struct expression *unop = copy_expression(expr->unop);
116 struct expression *base = copy_expression(expr->base);
127 struct expression *left = copy_expression(expr->left);
128 struct expression *right = copy_expression(expr->right);
138 struct expression *left = copy_expression(expr->left);
139 struct expression *right = copy_expression(expr->right);
150 struct expression *deref = copy_expression(expr->deref);
159 struct expression *cast = expr->cast_expression;
172 struct expression *cast = copy_expression(expr->cast_expression);
180 /* Conditional expression */
183 struct expression *cond = copy_expression(expr->conditional);
184 struct expression *valt = copy_expression(expr->cond_true);
185 struct expression *valf = copy_expression(expr->cond_false);
195 /* Statement expression */
204 /* Call expression */
206 struct expression *fn = copy_expression(expr->fn);
208 struct expression *arg;
222 struct expression *entry;
240 struct expression *sub_expr = copy_expression(expr->idx_expression);
247 struct expression *sub_expr = copy_expression(expr->ident_expression);
255 struct expression *val = copy_expression(expr->init_expr);
261 struct expression *val = copy_expression(expr->down);
268 struct expression *idx = copy_expression(expr->index);
286 warning(expr->pos, "trying to copy expression type %d", expr->type);
353 struct expression *expr = copy_expression(stmt->expression);
354 if (expr == stmt->expression)
357 stmt->expression = expr;
361 struct expression *expr = copy_expression(stmt->range_expression);
362 if (expr == stmt->expression)
375 struct expression *cond = stmt->if_conditional;
393 struct expression *retval = copy_expression(stmt->ret_value);
413 struct expression *expr = copy_expression(stmt->switch_expression);
513 int inline_function(struct expression *expr, struct symbol *sym)
521 struct expression *arg;