• Home
  • Raw
  • Download

Lines Matching refs:ExprEffect

277 class ExprEffect {  class
288 static ExprEffect None() { return ExprEffect(kNoEffect, NULL); } in None()
289 static ExprEffect NoneWithEnv(Environment* env) { in NoneWithEnv()
290 return ExprEffect(kNoEffect, env); in NoneWithEnv()
292 static ExprEffect RawUse() { return ExprEffect(kRawUse, NULL); } in RawUse()
294 static ExprEffect Merge(ExprEffect a, ExprEffect b);
295 static ExprEffect MergeSeq(ExprEffect a, ExprEffect b);
296 ExprEffect Define(const std::string& name);
302 static ExprEffect GC() { in GC()
303 return ExprEffect(kCausesGC, NULL); in GC()
307 ExprEffect(int effect, Environment* env) in ExprEffect() function in __anon85d096280111::ExprEffect
336 Environment ApplyEffect(ExprEffect effect) const { in ApplyEffect()
451 friend class ExprEffect;
460 void SetEffect(int arg, ExprEffect in) { in SetEffect()
473 ExprEffect ComputeCumulativeEffect(bool result_is_raw) { in ComputeCumulativeEffect()
474 ExprEffect out = ExprEffect::NoneWithEnv(env_); in ComputeCumulativeEffect()
500 ExprEffect ExprEffect::Merge(ExprEffect a, ExprEffect b) { in Merge()
508 return ExprEffect(a.effect_ | b.effect_, out); in Merge()
512 ExprEffect ExprEffect::MergeSeq(ExprEffect a, ExprEffect b) { in MergeSeq()
520 return ExprEffect(a.effect_ | b.effect_, out); in MergeSeq()
524 ExprEffect ExprEffect::Define(const std::string& name) { in Define()
530 return ExprEffect(effect_, e); in Define()
558 ExprEffect VisitExpr(clang::Expr* expr, const Environment& env) { in VisitExpr()
622 return ExprEffect::None(); in VisitExpr()
626 ExprEffect Visit##type (clang::type* expr, const Environment& env)
629 ExprEffect Visit##type (clang::type* expr, const Environment& env) { \
630 return ExprEffect::None(); \
673 return ExprEffect::Merge(VisitExpr(expr->getTrueExpr(), after_cond), in DECL_VISIT_EXPR()
702 return ExprEffect::Merge(VisitExpr(lhs, env), VisitExpr(rhs, env)); in DECL_VISIT_EXPR()
773 return ExprEffect::None().Define(var_name); in DECL_VISIT_EXPR()
787 ExprEffect Par(clang::Expr* parent, in Par()
802 ExprEffect Seq(clang::Stmt* parent, in Seq()
806 ExprEffect out = ExprEffect::None(); in Seq()
809 out = ExprEffect::MergeSeq(out, VisitExpr(exprs[i], out_env)); in Seq()
815 ExprEffect Use(const clang::Expr* parent, in Use()
823 return ExprEffect::RawUse(); in Use()
825 return ExprEffect::None(); in Use()
828 ExprEffect Use(const clang::Expr* parent, in Use()
832 return ExprEffect::GC(); in Use()
839 ExprEffect VisitArguments(ExprType* call, const Environment& env) { in VisitArguments()
856 ExprEffect VisitCallExpr(clang::CallExpr* call, in VisitCallExpr()
871 ExprEffect out = in VisitCallExpr()