clang
7.0.0
|
#include "clang/Analysis/Analyses/Consumed.h"
#include "clang/AST/Attr.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/Stmt.h"
#include "clang/AST/StmtVisitor.h"
#include "clang/AST/Type.h"
#include "clang/Analysis/Analyses/PostOrderCFGView.h"
#include "clang/Analysis/AnalysisDeclContext.h"
#include "clang/Analysis/CFG.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/OperatorKinds.h"
#include "clang/Basic/SourceLocation.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include <cassert>
#include <memory>
#include <utility>
Go to the source code of this file.
Classes | |
class | clang::consumed::PropagationInfo |
class | clang::consumed::ConsumedStmtVisitor |
Namespaces | |
clang | |
Dataflow Directional Tag Classes. | |
clang::consumed | |
Enumerations | |
enum | clang::consumed::EffectiveOp { clang::consumed::EO_And, clang::consumed::EO_Or } |
|
static |
Definition at line 62 of file Consumed.cpp.
Referenced by getLastStmtLoc().
|
static |
Definition at line 77 of file Consumed.cpp.
References getFirstStmtLoc(), clang::CFGBlock::getTerminator(), clang::SourceLocation::isValid(), clang::CFGBlock::pred_begin(), clang::CFGBlock::pred_size(), clang::CFGBlock::rbegin(), clang::CFGBlock::rend(), clang::CFGBlock::succ_begin(), and clang::CFGBlock::succ_size().
Referenced by clang::consumed::ConsumedStateMap::intersectAtLoopHead().
|
static |
Definition at line 104 of file Consumed.cpp.
References clang::consumed::CS_Consumed, clang::consumed::CS_None, clang::consumed::CS_Unconsumed, and clang::consumed::CS_Unknown.
Referenced by clang::consumed::PropagationInfo::invertTest(), clang::consumed::ConsumedStateMap::operator!=(), splitVarStateForIf(), and splitVarStateForIfBinOp().
Definition at line 154 of file Consumed.cpp.
References clang::Type::getAsCXXRecordDecl(), clang::Type::isPointerType(), and clang::Type::isReferenceType().
Referenced by clang::consumed::ConsumedStateMap::operator!=().
|
static |
Definition at line 118 of file Consumed.cpp.
Referenced by clang::consumed::ConsumedStmtVisitor::checkCallability().
Definition at line 144 of file Consumed.cpp.
References clang::Type::getAsCXXRecordDecl(), clang::Type::isPointerType(), and clang::Type::isReferenceType().
Referenced by mapConsumableAttrState(), clang::consumed::ConsumedStateMap::operator!=(), clang::consumed::ConsumedStmtVisitor::VisitCXXConstructExpr(), clang::consumed::ConsumedStmtVisitor::VisitParmVarDecl(), and clang::consumed::ConsumedStmtVisitor::VisitVarDecl().
|
static |
Definition at line 170 of file Consumed.cpp.
References clang::consumed::CS_Consumed, clang::consumed::CS_None, clang::consumed::CS_Unconsumed, and clang::consumed::CS_Unknown.
Referenced by splitVarStateForIfBinOp().
Definition at line 190 of file Consumed.cpp.
References clang::Type::isPointerType(), and clang::Type::isReferenceType().
Definition at line 182 of file Consumed.cpp.
References clang::Type::isRValueReferenceType().
Referenced by TryReferenceInitializationCore(), and clang::consumed::ConsumedStmtVisitor::VisitParmVarDecl().
Definition at line 164 of file Consumed.cpp.
References clang::Type::getPointeeCXXRecordDecl().
Referenced by clang::consumed::ConsumedStmtVisitor::VisitCXXConstructExpr().
|
static |
Definition at line 186 of file Consumed.cpp.
References clang::Decl::hasAttr().
Referenced by testsFor().
|
static |
Definition at line 194 of file Consumed.cpp.
References clang::consumed::CS_Consumed, clang::consumed::CS_Unconsumed, clang::consumed::CS_Unknown, clang::Type::getAsCXXRecordDecl(), clang::Decl::getAttr(), isConsumableType(), and clang::prec::Unknown.
Referenced by clang::consumed::ConsumedStateMap::operator!=(), clang::consumed::ConsumedStmtVisitor::VisitCXXConstructExpr(), and clang::consumed::ConsumedStmtVisitor::VisitParmVarDecl().
|
static |
Definition at line 212 of file Consumed.cpp.
References clang::consumed::CS_Consumed, clang::consumed::CS_Unconsumed, clang::consumed::CS_Unknown, and clang::prec::Unknown.
Referenced by clang::consumed::ConsumedStmtVisitor::VisitParmVarDecl().
|
static |
Definition at line 225 of file Consumed.cpp.
References clang::consumed::CS_Consumed, clang::consumed::CS_Unconsumed, clang::consumed::CS_Unknown, and clang::prec::Unknown.
Referenced by clang::consumed::ConsumedStateMap::checkParamsForReturnTypestate(), clang::consumed::ConsumedStateMap::operator!=(), and clang::consumed::ConsumedStmtVisitor::VisitCXXConstructExpr().
|
static |
Definition at line 237 of file Consumed.cpp.
References clang::consumed::CS_Consumed, clang::consumed::CS_Unconsumed, clang::consumed::CS_Unknown, and clang::prec::Unknown.
|
static |
Definition at line 447 of file Consumed.cpp.
References clang::consumed::PropagationInfo::getTmp(), clang::consumed::PropagationInfo::getVar(), clang::consumed::PropagationInfo::isTmp(), clang::consumed::PropagationInfo::isVar(), clang::consumed::ConsumedStateMap::setState(), and State.
Referenced by clang::consumed::ConsumedStmtVisitor::reset().
|
static |
Definition at line 939 of file Consumed.cpp.
References clang::consumed::CS_Unknown, clang::consumed::ConsumedStateMap::getState(), invertConsumedUnconsumed(), clang::consumed::ConsumedStateMap::markUnreachable(), and clang::consumed::ConsumedStateMap::setState().
Referenced by clang::consumed::ConsumedStateMap::operator!=().
|
static |
Definition at line 954 of file Consumed.cpp.
References clang::consumed::CS_None, clang::consumed::CS_Unknown, clang::consumed::EO_And, clang::consumed::PropagationInfo::getLTest(), clang::consumed::PropagationInfo::getRTest(), clang::consumed::ConsumedStateMap::getState(), invertConsumedUnconsumed(), isKnownState(), clang::consumed::ConsumedStateMap::markUnreachable(), clang::consumed::ConsumedStateMap::setState(), and clang::consumed::PropagationInfo::testEffectiveOp().
Referenced by clang::consumed::ConsumedStateMap::operator!=().
|
static |
Definition at line 249 of file Consumed.cpp.
References clang::consumed::CS_Consumed, clang::consumed::CS_None, clang::consumed::CS_Unconsumed, and clang::consumed::CS_Unknown.
Referenced by clang::consumed::ConsumedStmtVisitor::checkCallability(), clang::consumed::ConsumedStateMap::checkParamsForReturnTypestate(), and clang::consumed::ConsumedStmtVisitor::VisitReturnStmt().
|
static |
Definition at line 266 of file Consumed.cpp.
References clang::consumed::CS_Consumed, clang::consumed::CS_Unconsumed, clang::Decl::getAttr(), and isTestingFunction().