Home | History | Annotate | Download | only in Analysis

Lines Matching refs:VD

167   const ValueDecl *VD = cast<ValueDecl>(DRE->getDecl()->getCanonicalDecl());
170 if (const ParmVarDecl *PV = dyn_cast_or_null<ParmVarDecl>(VD)) {
182 VD = FD->getParamDecl(I);
186 return new (Arena) til::LiteralPtr(VD);
288 const ValueDecl *VD = nullptr;
291 VD = DRE->getDecl();
292 CV = lookupVarDecl(VD);
298 E1 = addStatement(E1, nullptr, VD);
300 if (VD && CV)
301 return updateVarDecl(VD, E1);
408 if (VarDecl *VD = dyn_cast_or_null<VarDecl>(*I)) {
409 Expr *E = VD->getInit();
413 QualType T = VD->getType();
414 if (T.isTrivialType(VD->getASTContext())) {
415 return addVarDecl(VD, SE);
432 const ValueDecl *VD) {
438 til::Variable *V = new (Arena) til::Variable(E, VD);
446 // Returns the current value of VD, if known, and nullptr otherwise.
447 til::SExpr *SExprBuilder::lookupVarDecl(const ValueDecl *VD) {
448 auto It = LVarIdxMap.find(VD);
450 assert(CurrentLVarMap[It->second].first == VD);
458 inline void maybeUpdateVD(til::SExpr *E, const ValueDecl *VD) {
463 V->setClangDecl(VD);
468 til::SExpr *SExprBuilder::addVarDecl(const ValueDecl *VD, til::SExpr *E) {
469 maybeUpdateVD(E, VD);
470 LVarIdxMap.insert(std::make_pair(VD, CurrentLVarMap.size()));
472 CurrentLVarMap.push_back(std::make_pair(VD, E));
478 til::SExpr *SExprBuilder::updateVarDecl(const ValueDecl *VD, til::SExpr *E) {
479 maybeUpdateVD(E, VD);
480 auto It = LVarIdxMap.find(VD);
482 til::SExpr *Ptr = new (Arena) til::LiteralPtr(VD);
705 void SExprBuilder::handleDestructorCall(const VarDecl *VD,
707 til::SExpr *Sf = new (Arena) til::LiteralPtr(VD);