reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
561 const auto *Func = dyn_cast_or_null<FunctionDecl>(Call.getDecl()); 569 const auto *InstCall = cast<CXXInstanceCall>(&Call); 571 handleAssign(C, InstCall->getCXXThisVal(), Call.getOriginExpr(), 572 Call.getArgSVal(0)); 579 const auto *OrigExpr = Call.getOriginExpr(); 583 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { 584 handleComparison(C, OrigExpr, Call.getReturnValue(), 585 InstCall->getCXXThisVal(), Call.getArgSVal(0), Op); 589 handleComparison(C, OrigExpr, Call.getReturnValue(), Call.getArgSVal(0), 589 handleComparison(C, OrigExpr, Call.getReturnValue(), Call.getArgSVal(0), 590 Call.getArgSVal(1), Op); 593 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { 594 if (Call.getNumArgs() >= 1 && 595 Call.getArgExpr(0)->getType()->isIntegralOrEnumerationType()) { 597 Call.getReturnValue(), 598 InstCall->getCXXThisVal(), Call.getArgSVal(0)); 602 if (Call.getNumArgs() >= 2 && 603 Call.getArgExpr(1)->getType()->isIntegralOrEnumerationType()) { 605 Call.getReturnValue(), Call.getArgSVal(0), 605 Call.getReturnValue(), Call.getArgSVal(0), 606 Call.getArgSVal(1)); 611 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { 612 handleIncrement(C, Call.getReturnValue(), InstCall->getCXXThisVal(), 613 Call.getNumArgs()); 617 handleIncrement(C, Call.getReturnValue(), Call.getArgSVal(0), 617 handleIncrement(C, Call.getReturnValue(), Call.getArgSVal(0), 618 Call.getNumArgs()); 621 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { 622 handleDecrement(C, Call.getReturnValue(), InstCall->getCXXThisVal(), 623 Call.getNumArgs()); 627 handleDecrement(C, Call.getReturnValue(), Call.getArgSVal(0), 627 handleDecrement(C, Call.getReturnValue(), Call.getArgSVal(0), 628 Call.getNumArgs()); 632 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { 664 handleInsert(C, Call.getArgSVal(0)); 669 if (Call.getNumArgs() == 1) { 670 handleErase(C, Call.getArgSVal(0)); 674 if (Call.getNumArgs() == 2) { 675 handleErase(C, Call.getArgSVal(0), Call.getArgSVal(1)); 675 handleErase(C, Call.getArgSVal(0), Call.getArgSVal(1)); 681 if (Call.getNumArgs() == 1) { 682 handleEraseAfter(C, Call.getArgSVal(0)); 686 if (Call.getNumArgs() == 2) { 687 handleEraseAfter(C, Call.getArgSVal(0), Call.getArgSVal(1)); 687 handleEraseAfter(C, Call.getArgSVal(0), Call.getArgSVal(1)); 693 const auto *OrigExpr = Call.getOriginExpr(); 697 if (!isIteratorType(Call.getResultType())) 702 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { 704 handleBegin(C, OrigExpr, Call.getReturnValue(), 710 handleEnd(C, OrigExpr, Call.getReturnValue(), 717 if (getIteratorPosition(State, Call.getReturnValue())) 721 if (isa<CXXConstructorCall>(&Call) && Call.getNumArgs() == 1) { 721 if (isa<CXXConstructorCall>(&Call) && Call.getNumArgs() == 1) { 722 if (const auto *Pos = getIteratorPosition(State, Call.getArgSVal(0))) { 723 State = setIteratorPosition(State, Call.getReturnValue(), *Pos); 725 State = removeIteratorPosition(State, Call.getArgSVal(0)); 737 for (unsigned i = 0; i < Call.getNumArgs(); ++i) { 738 if (isIteratorType(Call.getArgExpr(i)->getType())) { 739 if (const auto *Pos = getIteratorPosition(State, Call.getArgSVal(i))) { 740 assignToContainer(C, OrigExpr, Call.getReturnValue(),