Lines Matching defs:ex
202 Expression *ex = e->optimize(flags, keepLvalue);
203 if (ex->op == TOKerror)
205 ret = ex; // store error result
210 e = ex; // modify original
353 // Convert &*ex to ex
356 Expression *ex = ((PtrExp *)e->e1)->e1;
357 if (e->type->equals(ex->type))
358 ret = ex;
359 else if (e->type->toBasetype()->equivalent(ex->type->toBasetype()))
361 ret = ex->copy();
418 // Convert *&ex to ex
422 Expression *ex = ((AddrExp *)e->e1)->e1;
423 if (e->type->equals(ex->type))
424 ret = ex;
425 else if (e->type->toBasetype()->equivalent(ex->type->toBasetype()))
427 ret = ex->copy();
437 Expression *ex = Ptr(e->type, e->e1).copy();
438 if (!CTFEExp::isCantExp(ex))
440 ret = ex;
449 Expression *ex = expandVar(result, v);
450 if (ex && ex->op == TOKstructliteral)
452 StructLiteralExp *sle = (StructLiteralExp *)ex;
453 ex = sle->getField(e->type, (unsigned)se->offset);
454 if (ex && !CTFEExp::isCantExp(ex))
456 ret = ex;
471 Expression *ex = e->e1;
473 if (ex->op == TOKvar)
475 VarExp *ve = (VarExp *)ex;
477 ex = expandVar(result, v);
480 if (ex && ex->op == TOKstructliteral)
482 StructLiteralExp *sle = (StructLiteralExp *)ex;
488 ex = sle->getField(e->type, vf->offset);
489 if (ex && !CTFEExp::isCantExp(ex))
491 ret = ex;
891 Expression *ex = Pow(e->loc, e->type, e->e1, e->e2).copy();
892 if (!CTFEExp::isCantExp(ex))
894 ret = ex;
1042 Expression *ex = fromConstInitializer(result, e->e1);
1045 setLengthVarIfKnown(e->lengthVar, ex);
1051 ret = Index(e->type, ex, e->e2).copy();
1212 Expression *ex = cex.optimize(result);
1213 if (ex != &cex)
1216 e->e2 = ex;
1256 Expression *ex = NULL;
1268 ex = v.ret;
1269 ex->accept(&v);
1270 if (ex == v.ret)
1273 return ex;