|
clang
5.0.0
|
Identifies a list of statements. More...
#include "clang/Analysis/CloneDetection.h"
Public Types | |
| typedef const Stmt *const * | iterator |
Public Member Functions | |
| StmtSequence (const CompoundStmt *Stmt, const Decl *D, unsigned StartIndex, unsigned EndIndex) | |
| Constructs a StmtSequence holding multiple statements. More... | |
| StmtSequence (const Stmt *Stmt, const Decl *D) | |
| Constructs a StmtSequence holding a single statement. More... | |
| StmtSequence () | |
| Constructs an empty StmtSequence. More... | |
| iterator | begin () const |
| Returns an iterator pointing to the first statement in this sequence. More... | |
| iterator | end () const |
| Returns an iterator pointing behind the last statement in this sequence. More... | |
| const Stmt * | front () const |
| Returns the first statement in this sequence. More... | |
| const Stmt * | back () const |
| Returns the last statement in this sequence. More... | |
| unsigned | size () const |
| Returns the number of statements this object holds. More... | |
| bool | empty () const |
| Returns true if and only if this StmtSequence contains no statements. More... | |
| ASTContext & | getASTContext () const |
| Returns the related ASTContext for the stored Stmts. More... | |
| const Decl * | getContainingDecl () const |
| Returns the declaration that contains the stored Stmts. More... | |
| bool | holdsSequence () const |
| Returns true if this objects holds a list of statements. More... | |
| SourceLocation | getStartLoc () const |
| Returns the start sourcelocation of the first statement in this sequence. More... | |
| SourceLocation | getEndLoc () const |
| Returns the end sourcelocation of the last statement in this sequence. More... | |
| SourceRange | getSourceRange () const |
| Returns the source range of the whole sequence - from the beginning of the first statement to the end of the last statement. More... | |
| bool | operator== (const StmtSequence &Other) const |
| bool | operator!= (const StmtSequence &Other) const |
| bool | contains (const StmtSequence &Other) const |
Returns true if and only if this sequence covers a source range that contains the source range of the given sequence Other. More... | |
Identifies a list of statements.
Can either identify a single arbitrary Stmt object, a continuous sequence of child statements inside a CompoundStmt or no statements at all.
Definition at line 224 of file CloneDetection.h.
| typedef const Stmt* const* clang::StmtSequence::iterator |
Definition at line 264 of file CloneDetection.h.
| StmtSequence::StmtSequence | ( | const CompoundStmt * | Stmt, |
| const Decl * | D, | ||
| unsigned | StartIndex, | ||
| unsigned | EndIndex | ||
| ) |
Constructs a StmtSequence holding multiple statements.
The resulting StmtSequence identifies a continuous sequence of statements in the body of the given CompoundStmt. Which statements of the body should be identified needs to be specified by providing a start and end index that describe a non-empty sub-array in the body of the given CompoundStmt.
| Stmt | A CompoundStmt that contains all statements in its body. |
| D | The Decl containing this Stmt. |
| StartIndex | The inclusive start index in the children array of Stmt |
| EndIndex | The exclusive end index in the children array of Stmt. |
Definition at line 27 of file CloneDetection.cpp.
References size().
Constructs a StmtSequence holding a single statement.
Definition at line 35 of file CloneDetection.cpp.
| StmtSequence::StmtSequence | ( | ) |
Constructs an empty StmtSequence.
Definition at line 38 of file CloneDetection.cpp.
|
inline |
Returns the last statement in this sequence.
This method should only be called on a non-empty StmtSequence object.
Definition at line 283 of file CloneDetection.h.
Referenced by getEndLoc().
| StmtSequence::iterator StmtSequence::begin | ( | ) | const |
Returns an iterator pointing to the first statement in this sequence.
Definition at line 63 of file CloneDetection.cpp.
References holdsSequence(), and S.
| bool StmtSequence::contains | ( | const StmtSequence & | Other | ) | const |
Returns true if and only if this sequence covers a source range that contains the source range of the given sequence Other.
This method should only be called on a non-empty StmtSequence object and passed a non-empty StmtSequence object.
Definition at line 41 of file CloneDetection.cpp.
References getASTContext(), getEndLoc(), clang::ASTContext::getSourceManager(), getStartLoc(), clang::SourceManager::isBeforeInTranslationUnit(), and SM.
Referenced by containsAnyInGroup().
|
inline |
Returns true if and only if this StmtSequence contains no statements.
Definition at line 298 of file CloneDetection.h.
Referenced by clang::MinComplexityConstraint::calculateStmtComplexity().
| StmtSequence::iterator StmtSequence::end | ( | ) | const |
Returns an iterator pointing behind the last statement in this sequence.
Definition at line 71 of file CloneDetection.cpp.
References holdsSequence(), and S.
|
inline |
Returns the first statement in this sequence.
This method should only be called on a non-empty StmtSequence object.
Definition at line 275 of file CloneDetection.h.
Referenced by clang::MinComplexityConstraint::calculateStmtComplexity(), getStartLoc(), and makeLocation().
| ASTContext & StmtSequence::getASTContext | ( | ) | const |
Returns the related ASTContext for the stored Stmts.
Definition at line 79 of file CloneDetection.cpp.
References clang::Decl::getASTContext().
Referenced by clang::MinComplexityConstraint::calculateStmtComplexity(), and contains().
|
inline |
Returns the declaration that contains the stored Stmts.
Definition at line 304 of file CloneDetection.h.
Referenced by clang::MinComplexityConstraint::calculateStmtComplexity().
| SourceLocation StmtSequence::getEndLoc | ( | ) | const |
Returns the end sourcelocation of the last statement in this sequence.
This method should only be called on a non-empty StmtSequence object.
Definition at line 88 of file CloneDetection.cpp.
References back(), and clang::Stmt::getLocEnd().
Referenced by clang::MinComplexityConstraint::calculateStmtComplexity(), contains(), and getSourceRange().
| SourceRange StmtSequence::getSourceRange | ( | ) | const |
Returns the source range of the whole sequence - from the beginning of the first statement to the end of the last statement.
Definition at line 90 of file CloneDetection.cpp.
References getEndLoc(), and getStartLoc().
| SourceLocation StmtSequence::getStartLoc | ( | ) | const |
Returns the start sourcelocation of the first statement in this sequence.
This method should only be called on a non-empty StmtSequence object.
Definition at line 84 of file CloneDetection.cpp.
References front(), and clang::Stmt::getLocStart().
Referenced by clang::MinComplexityConstraint::calculateStmtComplexity(), contains(), and getSourceRange().
|
inline |
Returns true if this objects holds a list of statements.
Definition at line 310 of file CloneDetection.h.
Referenced by begin(), clang::MinComplexityConstraint::calculateStmtComplexity(), and end().
|
inline |
Definition at line 331 of file CloneDetection.h.
References S.
|
inline |
Definition at line 326 of file CloneDetection.h.
References S.
|
inline |
Returns the number of statements this object holds.
Definition at line 289 of file CloneDetection.h.
References S.
Referenced by StmtSequence().
1.8.6