Lines Matching refs:StmtSequence

23 StmtSequence::StmtSequence(const CompoundStmt *Stmt, const Decl *D,
31 StmtSequence::StmtSequence(const Stmt *Stmt, const Decl *D)
34 StmtSequence::StmtSequence()
37 bool StmtSequence::contains(const StmtSequence &Other) const {
59 StmtSequence::iterator StmtSequence::begin() const {
67 StmtSequence::iterator StmtSequence::end() const {
69 return reinterpret_cast<StmtSequence::iterator>(&S) + 1;
75 ASTContext &StmtSequence::getASTContext() const {
80 SourceLocation StmtSequence::getBeginLoc() const {
84 SourceLocation StmtSequence::getEndLoc() const { return back()->getEndLoc(); }
86 SourceRange StmtSequence::getSourceRange() const {
94 Sequences.push_back(StmtSequence(D->getBody(), D));
99 static bool containsAnyInGroup(StmtSequence &Seq,
101 for (StmtSequence &GroupSeq : Group) {
119 for (StmtSequence &Stmt : Group) {
161 for (const StmtSequence &S : Group) {
244 /// each StmtSequence in the given Stmt.
251 std::vector<std::pair<size_t, StmtSequence>> &StmtsByHash) {
291 createHash(SubHash), StmtSequence(CS, D, Pos, Pos + Length)));
298 StmtsByHash.push_back(std::make_pair(HashCode, StmtSequence(S, D)));
317 /// in the given StmtSequence into the given FoldingSetNodeID.
318 static void CollectStmtSequenceData(const StmtSequence &Sequence,
328 CollectStmtSequenceData(StmtSequence(Child, Sequence.getContainingDecl()),
335 static bool areSequencesClones(const StmtSequence &LHS,
336 const StmtSequence &RHS) {
362 std::vector<std::pair<size_t, StmtSequence>> StmtsByHash;
365 for (const StmtSequence &S : Group) {
372 // Check for each StmtSequence if its successor has the same hash value.
373 // We don't check the last StmtSequence as it has no successor.
392 // the hash of the Current StmtSequence with itself in the 'if' above.
397 // Same hash value means we should add the StmtSequence to the current
414 Sequences, [](const StmtSequence &A, const StmtSequence &B) {
420 const StmtSequence &Seq, std::size_t Limit,
445 // Iterate over the Stmts in the StmtSequence and add their complexity values
450 StmtSequence(S, Seq.getContainingDecl()), Limit, MacroStack);
457 StmtSequence(S, Seq.getContainingDecl()), Limit, MacroStack);
468 CloneGroups, [](const StmtSequence &A, const StmtSequence &B) {
477 llvm::function_ref<bool(const StmtSequence &, const StmtSequence &)>
491 // Pick the first unhandled StmtSequence and consider it as the
495 StmtSequence Prototype = HashGroup[i];
505 // If a following StmtSequence belongs to our CloneGroup, we add it.
506 const StmtSequence &Candidate = HashGroup[j];
512 // Make sure we never visit this StmtSequence again.