Lines Matching defs:ExprEngine

1 //===- ExprEngine.cpp - Path-Sensitive Expression-Level Dataflow ----------===//
15 #include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"
90 #define DEBUG_TYPE "ExprEngine"
219 static const char* TagProviderName = "ExprEngine";
221 ExprEngine::ExprEngine(cross_tu::CrossTranslationUnitContext &CTU,
244 ProgramStateRef ExprEngine::getInitialState(const LocationContext *InitLoc) {
321 ProgramStateRef ExprEngine::createTemporaryRegionIfNeeded(
475 ProgramStateRef ExprEngine::setIndexOfElementToConstruct(
486 ExprEngine::getPendingInitLoop(ProgramStateRef State, const CXXConstructExpr *E,
492 ProgramStateRef ExprEngine::removePendingInitLoop(ProgramStateRef State,
501 ProgramStateRef ExprEngine::setPendingInitLoop(ProgramStateRef State,
513 ExprEngine::getIndexOfElementToConstruct(ProgramStateRef State,
522 ExprEngine::removeIndexOfElementToConstruct(ProgramStateRef State,
532 ExprEngine::getPendingArrayDestruction(ProgramStateRef State,
541 ProgramStateRef ExprEngine::setPendingArrayDestruction(
551 ExprEngine::removePendingArrayDestruction(ProgramStateRef State,
562 ExprEngine::addObjectUnderConstruction(ProgramStateRef State,
603 ExprEngine::getObjectUnderConstruction(ProgramStateRef State,
612 ExprEngine::finishObjectConstruction(ProgramStateRef State,
620 ProgramStateRef ExprEngine::elideDestructor(ProgramStateRef State,
630 ExprEngine::cleanupElidedDestructor(ProgramStateRef State,
638 bool ExprEngine::isDestructorElided(ProgramStateRef State,
645 bool ExprEngine::areAllObjectsFullyConstructed(ProgramStateRef State,
667 ProgramStateRef ExprEngine::processAssume(ProgramStateRef state,
673 ExprEngine::processRegionChanges(ProgramStateRef state,
939 void ExprEngine::printJson(raw_ostream &Out, ProgramStateRef State,
960 void ExprEngine::processEndWorklist() {
966 void ExprEngine::processCFGElement(const CFGElement E, ExplodedNode *Pred,
1029 void ExprEngine::removeDead(ExplodedNode *Pred, ExplodedNodeSet &Out,
1107 const ProgramPointTag *ExprEngine::cleanupNodeTag() {
1112 void ExprEngine::ProcessStmt(const Stmt *currStmt, ExplodedNode *Pred) {
1142 void ExprEngine::ProcessLoopExit(const Stmt* S, ExplodedNode *Pred) {
1160 void ExprEngine::ProcessInitializer(const CFGInitializer CFGInit,
1254 ExprEngine::prepareStateForArrayDestruction(const ProgramStateRef State,
1290 void ExprEngine::ProcessImplicitDtor(const CFGImplicitDtor D,
1317 void ExprEngine::ProcessNewAllocator(const CXXNewExpr *NE,
1337 void ExprEngine::ProcessAutomaticObjDtor(const CFGAutomaticObjDtor Dtor,
1377 "ExprEngine", "Skipping automatic 0 length array destruction, "
1395 static SimpleProgramPointTag PT("ExprEngine",
1409 void ExprEngine::ProcessDeleteDtor(const CFGDeleteDtor Dtor,
1458 "ExprEngine", "Skipping 0 length array delete destruction");
1472 static SimpleProgramPointTag PT("ExprEngine",
1485 void ExprEngine::ProcessBaseDtor(const CFGBaseDtor D,
1505 void ExprEngine::ProcessMemberDtor(const CFGMemberDtor D,
1533 "ExprEngine", "Skipping member 0 length array destruction, which "
1550 static SimpleProgramPointTag PT("ExprEngine",
1564 void ExprEngine::ProcessTemporaryDtor(const CFGTemporaryDtor D,
1640 void ExprEngine::processCleanupTemporaryBranch(const CXXBindTemporaryExpr *BTE,
1656 void ExprEngine::VisitCXXBindTemporaryExpr(const CXXBindTemporaryExpr *BTE,
1683 ProgramStateRef ExprEngine::escapeValues(ProgramStateRef State,
1710 void ExprEngine::Visit(const Stmt *S, ExplodedNode *Pred,
2450 bool ExprEngine::replayWithoutInlining(ExplodedNode *N,
2488 static SimpleProgramPointTag PT("ExprEngine", "Replay without inlining");
2515 void ExprEngine::processCFGBlockEntrance(const BlockEdge &L,
2695 ProgramStateRef ExprEngine::setWhetherHasMoreIteration(
2703 ExprEngine::removeIterationState(ProgramStateRef State,
2710 bool ExprEngine::hasMoreIteration(ProgramStateRef State,
2725 ExprEngine::hasMoreIteration(State, ObjCFor, N->getLocationContext());
2729 State = ExprEngine::removeIterationState(State, ObjCFor,
2767 void ExprEngine::processBranch(
2854 void ExprEngine::processStaticInitializer(const DeclStmt *DS,
2879 void ExprEngine::processIndirectGoto(IndirectGotoNodeBuilder &builder) {
2920 void ExprEngine::processBeginOfFunction(NodeBuilderContext &BC,
2930 void ExprEngine::processEndOfFunction(NodeBuilderContext& BC,
3004 void ExprEngine::processSwitch(SwitchNodeBuilder& builder) {
3087 void ExprEngine::VisitCommonDeclRefExpr(const Expr *Ex, const NamedDecl *D,
3227 void ExprEngine::VisitArrayInitLoopExpr(const ArrayInitLoopExpr *Ex,
3254 // Note: ExprEngine::VisitMemberExpr is not able to bind the array to the
3325 void ExprEngine::VisitArraySubscriptExpr(const ArraySubscriptExpr *A,
3376 void ExprEngine::VisitMemberExpr(const MemberExpr *M, ExplodedNode *Pred,
3464 void ExprEngine::VisitAtomicExpr(const AtomicExpr *AE, ExplodedNode *Pred,
3508 ProgramStateRef ExprEngine::processPointerEscapedOnBind(
3550 ExprEngine::processPointerEscapedOnBind(ProgramStateRef State, SVal Loc,
3558 ExprEngine::notifyCheckersOfPointerEscape(ProgramStateRef State,
3602 void ExprEngine::evalBind(ExplodedNodeSet &Dst, const Stmt *StoreE,
3659 void ExprEngine::evalStore(ExplodedNodeSet &Dst, const Expr *AssignE,
3682 void ExprEngine::evalLoad(ExplodedNodeSet &Dst,
3720 void ExprEngine::evalLocation(ExplodedNodeSet &Dst,
3756 ExprEngine::getEagerlyAssumeBifurcationTags() {
3769 void ExprEngine::evalEagerlyAssumeBifurcation(ExplodedNodeSet &Dst,
3814 bool ExprEngine::didEagerlyAssumeBifurcateAt(ProgramStateRef State,
3819 void ExprEngine::VisitGCCAsmStmt(const GCCAsmStmt *A, ExplodedNode *Pred,
3854 void ExprEngine::VisitMSAsmStmt(const MSAsmStmt *A, ExplodedNode *Pred,
3871 BugReporter &BR = static_cast<ExprEngine &>(
3959 void ExprEngine::ViewGraph(bool trim) {
3964 void ExprEngine::ViewGraph(ArrayRef<const ExplodedNode *> Nodes) {
3969 std::string ExprEngine::DumpGraph(bool trim, StringRef Filename) {
3985 return llvm::WriteGraph(&G, "ExprEngine", /*ShortNames=*/false,
3990 std::string ExprEngine::DumpGraph(ArrayRef<const ExplodedNode *> Nodes,
4010 void ExprEngine::anchor() { }