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

Methods

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)

Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:55

Parameters

const clang::BinaryOperator* 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)

Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:613

Parameters

const clang::CXXBoolLiteralExpr* 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)

Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:383

Parameters

const clang::CXXDefaultInitExpr* 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)

Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:430

Parameters

const clang::CXXOperatorCallExpr* 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)

Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:476

Parameters

const clang::CXXTemporaryObjectExpr* 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)

Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:483

Parameters

const clang::CallExpr* 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)

Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:111

Parameters

const clang::DeclRefExpr* 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)

Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:628

Parameters

const clang::ExprWithCleanups* 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)

Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:586

Parameters

const clang::InitListExpr* 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)

Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:335

Parameters

const clang::MemberExpr* 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)

Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:272

Parameters

const clang::UnaryOperator* S

clang::dataflow::BoolValue&
getLogicOperatorSubExprValue(
    const clang::Expr& SubExpr)

Declared at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:638

Parameters

const clang::Expr& SubExpr