Lines Matching refs:VD
300 const auto *VD = cast<ValueDecl>(DRE->getDecl()->getCanonicalDecl()); in translateDeclRefExpr() local
303 if (const auto *PV = dyn_cast<ParmVarDecl>(VD)) { in translateDeclRefExpr()
318 VD = isa<FunctionDecl>(D) in translateDeclRefExpr()
324 return new (Arena) til::LiteralPtr(VD); in translateDeclRefExpr()
349 auto *VD = getValueDeclFromSExpr(E); in hasAnyPointerType() local
350 if (VD && VD->getType()->isAnyPointerType()) in hasAnyPointerType()
377 if (const auto *VD = dyn_cast<CXXMethodDecl>(D)) in translateMemberExpr() local
378 D = getFirstVirtualDecl(VD); in translateMemberExpr()
524 const ValueDecl *VD = nullptr; in translateBinAssign() local
527 VD = DRE->getDecl(); in translateBinAssign()
528 CV = lookupVarDecl(VD); in translateBinAssign()
534 E1 = addStatement(E1, nullptr, VD); in translateBinAssign()
536 if (VD && CV) in translateBinAssign()
537 return updateVarDecl(VD, E1); in translateBinAssign()
641 if (auto *VD = dyn_cast_or_null<VarDecl>(I)) { in translateDeclStmt() local
642 Expr *E = VD->getInit(); in translateDeclStmt()
646 QualType T = VD->getType(); in translateDeclStmt()
647 if (T.isTrivialType(VD->getASTContext())) in translateDeclStmt()
648 return addVarDecl(VD, SE); in translateDeclStmt()
662 const ValueDecl *VD) { in addStatement() argument
665 if (VD) in addStatement()
666 E = new (Arena) til::Variable(E, VD); in addStatement()
674 til::SExpr *SExprBuilder::lookupVarDecl(const ValueDecl *VD) { in lookupVarDecl() argument
675 auto It = LVarIdxMap.find(VD); in lookupVarDecl()
677 assert(CurrentLVarMap[It->second].first == VD); in lookupVarDecl()
684 static void maybeUpdateVD(til::SExpr *E, const ValueDecl *VD) { in maybeUpdateVD() argument
689 V->setClangDecl(VD); in maybeUpdateVD()
694 til::SExpr *SExprBuilder::addVarDecl(const ValueDecl *VD, til::SExpr *E) { in addVarDecl() argument
695 maybeUpdateVD(E, VD); in addVarDecl()
696 LVarIdxMap.insert(std::make_pair(VD, CurrentLVarMap.size())); in addVarDecl()
698 CurrentLVarMap.push_back(std::make_pair(VD, E)); in addVarDecl()
703 til::SExpr *SExprBuilder::updateVarDecl(const ValueDecl *VD, til::SExpr *E) { in updateVarDecl() argument
704 maybeUpdateVD(E, VD); in updateVarDecl()
705 auto It = LVarIdxMap.find(VD); in updateVarDecl()
707 til::SExpr *Ptr = new (Arena) til::LiteralPtr(VD); in updateVarDecl()
914 void SExprBuilder::handleDestructorCall(const VarDecl *VD, in handleDestructorCall() argument
916 til::SExpr *Sf = new (Arena) til::LiteralPtr(VD); in handleDestructorCall()