class TransferVisitor
Declaration
class TransferVisitor : public ConstStmtVisitor { /* full declaration omitted */ };
Description
ConstStmtVisitor - This class implements a simple visitor for Stmt subclasses. Since Expr derives from Stmt, this also includes support for visiting Exprs. This class preserves constness of Stmt pointers (see also StmtVisitor).
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:49
Inherits from: ConstStmtVisitor
Member Variables
- private const clang::dataflow::StmtToEnvMap& StmtToEnv
- private clang::dataflow::Environment& Env
- private clang::dataflow::TransferOptions Options
Method Overview
- public TransferVisitor(const clang::dataflow::StmtToEnvMap & StmtToEnv, clang::dataflow::Environment & Env, clang::dataflow::TransferOptions Options)
- public void VisitBinaryOperator(const clang::BinaryOperator * S)
- public void VisitCXXBindTemporaryExpr(const clang::CXXBindTemporaryExpr * S)
- public void VisitCXXBoolLiteralExpr(const clang::CXXBoolLiteralExpr * S)
- public void VisitCXXConstructExpr(const clang::CXXConstructExpr * S)
- public void VisitCXXDefaultInitExpr(const clang::CXXDefaultInitExpr * S)
- public void VisitCXXFunctionalCastExpr(const clang::CXXFunctionalCastExpr * S)
- public void VisitCXXOperatorCallExpr(const clang::CXXOperatorCallExpr * S)
- public void VisitCXXStaticCastExpr(const clang::CXXStaticCastExpr * S)
- public void VisitCXXTemporaryObjectExpr(const clang::CXXTemporaryObjectExpr * S)
- public void VisitCXXThisExpr(const clang::CXXThisExpr * S)
- public void VisitCallExpr(const clang::CallExpr * S)
- public void VisitConditionalOperator(const clang::ConditionalOperator * S)
- public void VisitDeclRefExpr(const clang::DeclRefExpr * S)
- public void VisitDeclStmt(const clang::DeclStmt * S)
- public void VisitExprWithCleanups(const clang::ExprWithCleanups * S)
- public void VisitImplicitCastExpr(const clang::ImplicitCastExpr * S)
- public void VisitInitListExpr(const clang::InitListExpr * S)
- public void VisitMaterializeTemporaryExpr(const clang::MaterializeTemporaryExpr * S)
- public void VisitMemberExpr(const clang::MemberExpr * S)
- public void VisitParenExpr(const clang::ParenExpr * S)
- public void VisitUnaryOperator(const clang::UnaryOperator * S)
- private clang::dataflow::BoolValue & getLogicOperatorSubExprValue(const clang::Expr & SubExpr)
Methods
¶TransferVisitor(
const clang::dataflow::StmtToEnvMap&
StmtToEnv,
clang::dataflow::Environment& Env,
clang::dataflow::TransferOptions Options)
TransferVisitor(
const clang::dataflow::StmtToEnvMap&
StmtToEnv,
clang::dataflow::Environment& Env,
clang::dataflow::TransferOptions Options)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:51
Parameters
- const clang::dataflow::StmtToEnvMap& StmtToEnv
- clang::dataflow::Environment& Env
- clang::dataflow::TransferOptions Options
¶void VisitBinaryOperator(
const clang::BinaryOperator* S)
void VisitBinaryOperator(
const clang::BinaryOperator* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:55
Parameters
- const clang::BinaryOperator* S
¶void VisitCXXBindTemporaryExpr(
const clang::CXXBindTemporaryExpr* S)
void VisitCXXBindTemporaryExpr(
const clang::CXXBindTemporaryExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:552
Parameters
- const clang::CXXBindTemporaryExpr* S
¶void VisitCXXBoolLiteralExpr(
const clang::CXXBoolLiteralExpr* S)
void VisitCXXBoolLiteralExpr(
const clang::CXXBoolLiteralExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:613
Parameters
- const clang::CXXBoolLiteralExpr* S
¶void VisitCXXConstructExpr(
const clang::CXXConstructExpr* S)
void VisitCXXConstructExpr(
const clang::CXXConstructExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:400
Parameters
- const clang::CXXConstructExpr* S
¶void VisitCXXDefaultInitExpr(
const clang::CXXDefaultInitExpr* S)
void VisitCXXDefaultInitExpr(
const clang::CXXDefaultInitExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:383
Parameters
- const clang::CXXDefaultInitExpr* S
¶void VisitCXXFunctionalCastExpr(
const clang::CXXFunctionalCastExpr* S)
void VisitCXXFunctionalCastExpr(
const clang::CXXFunctionalCastExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:463
Parameters
- const clang::CXXFunctionalCastExpr* S
¶void VisitCXXOperatorCallExpr(
const clang::CXXOperatorCallExpr* S)
void VisitCXXOperatorCallExpr(
const clang::CXXOperatorCallExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:430
Parameters
- const clang::CXXOperatorCallExpr* S
¶void VisitCXXStaticCastExpr(
const clang::CXXStaticCastExpr* S)
void VisitCXXStaticCastExpr(
const clang::CXXStaticCastExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:563
Parameters
- const clang::CXXStaticCastExpr* S
¶void VisitCXXTemporaryObjectExpr(
const clang::CXXTemporaryObjectExpr* S)
void VisitCXXTemporaryObjectExpr(
const clang::CXXTemporaryObjectExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:476
Parameters
- const clang::CXXTemporaryObjectExpr* S
¶void VisitCXXThisExpr(const clang::CXXThisExpr* S)
void VisitCXXThisExpr(const clang::CXXThisExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:322
Parameters
- const clang::CXXThisExpr* S
¶void VisitCallExpr(const clang::CallExpr* S)
void VisitCallExpr(const clang::CallExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:483
Parameters
- const clang::CallExpr* S
¶void VisitConditionalOperator(
const clang::ConditionalOperator* S)
void VisitConditionalOperator(
const clang::ConditionalOperator* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:576
Parameters
- const clang::ConditionalOperator* S
¶void VisitDeclRefExpr(const clang::DeclRefExpr* S)
void VisitDeclRefExpr(const clang::DeclRefExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:111
Parameters
- const clang::DeclRefExpr* S
¶void VisitDeclStmt(const clang::DeclStmt* S)
void VisitDeclStmt(const clang::DeclStmt* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:127
Parameters
- const clang::DeclStmt* S
¶void VisitExprWithCleanups(
const clang::ExprWithCleanups* S)
void VisitExprWithCleanups(
const clang::ExprWithCleanups* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:628
Parameters
- const clang::ExprWithCleanups* S
¶void VisitImplicitCastExpr(
const clang::ImplicitCastExpr* S)
void VisitImplicitCastExpr(
const clang::ImplicitCastExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:203
Parameters
- const clang::ImplicitCastExpr* S
¶void VisitInitListExpr(
const clang::InitListExpr* S)
void VisitInitListExpr(
const clang::InitListExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:586
Parameters
- const clang::InitListExpr* S
¶void VisitMaterializeTemporaryExpr(
const clang::MaterializeTemporaryExpr* S)
void VisitMaterializeTemporaryExpr(
const clang::MaterializeTemporaryExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:541
Parameters
- const clang::MaterializeTemporaryExpr* S
¶void VisitMemberExpr(const clang::MemberExpr* S)
void VisitMemberExpr(const clang::MemberExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:335
Parameters
- const clang::MemberExpr* S
¶void VisitParenExpr(const clang::ParenExpr* S)
void VisitParenExpr(const clang::ParenExpr* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:619
Parameters
- const clang::ParenExpr* S
¶void VisitUnaryOperator(
const clang::UnaryOperator* S)
void VisitUnaryOperator(
const clang::UnaryOperator* S)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:272
Parameters
- const clang::UnaryOperator* S
¶clang::dataflow::BoolValue&
getLogicOperatorSubExprValue(
const clang::Expr& SubExpr)
clang::dataflow::BoolValue&
getLogicOperatorSubExprValue(
const clang::Expr& SubExpr)
Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:638
Parameters
- const clang::Expr& SubExpr