Lines Matching refs:E
20 const Expr *E, bool StopAtFirstRefCountedObj, in tryToFindPtrOrigin() argument
22 while (E) { in tryToFindPtrOrigin()
23 if (auto *tempExpr = dyn_cast<MaterializeTemporaryExpr>(E)) { in tryToFindPtrOrigin()
24 E = tempExpr->getSubExpr(); in tryToFindPtrOrigin()
27 if (auto *tempExpr = dyn_cast<CXXBindTemporaryExpr>(E)) { in tryToFindPtrOrigin()
28 E = tempExpr->getSubExpr(); in tryToFindPtrOrigin()
31 if (auto *tempExpr = dyn_cast<CXXTemporaryObjectExpr>(E)) { in tryToFindPtrOrigin()
34 return callback(E, true); in tryToFindPtrOrigin()
38 if (auto *tempExpr = dyn_cast<ParenExpr>(E)) { in tryToFindPtrOrigin()
39 E = tempExpr->getSubExpr(); in tryToFindPtrOrigin()
42 if (auto *Expr = dyn_cast<ConditionalOperator>(E)) { in tryToFindPtrOrigin()
48 if (auto *cast = dyn_cast<CastExpr>(E)) { in tryToFindPtrOrigin()
53 return callback(E, true); in tryToFindPtrOrigin()
58 E = cast->getSubExpr(); in tryToFindPtrOrigin()
61 if (auto *call = dyn_cast<CallExpr>(E)) { in tryToFindPtrOrigin()
66 E = memberCall->getImplicitObjectArgument(); in tryToFindPtrOrigin()
68 return callback(E, true); in tryToFindPtrOrigin()
75 if (auto *operatorCall = dyn_cast<CXXOperatorCallExpr>(E)) { in tryToFindPtrOrigin()
77 E = operatorCall->getArg(0); in tryToFindPtrOrigin()
85 return callback(E, true); in tryToFindPtrOrigin()
87 E = call->getArg(0); in tryToFindPtrOrigin()
92 return callback(E, true); in tryToFindPtrOrigin()
95 return callback(E, true); in tryToFindPtrOrigin()
98 E = call->getArg(0); in tryToFindPtrOrigin()
103 if (auto *unaryOp = dyn_cast<UnaryOperator>(E)) { in tryToFindPtrOrigin()
105 E = unaryOp->getSubExpr(); in tryToFindPtrOrigin()
112 return callback(E, false); in tryToFindPtrOrigin()
115 bool isASafeCallArg(const Expr *E) { in isASafeCallArg() argument
116 assert(E); in isASafeCallArg()
117 if (auto *Ref = dyn_cast<DeclRefExpr>(E)) { in isASafeCallArg()
125 return isa<CXXThisExpr>(E); in isASafeCallArg()