class ExpressionHandler

Declaration

class ExpressionHandler { /* full declaration omitted */ };

Description

Handles expressions during the tracking.

Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h:292

Member Variables

private clang::ento::bugreporter::Tracker& ParentTracker

Method Overview

  • public ExpressionHandler(clang::ento::bugreporter::Tracker & ParentTracker)
  • public clang::ento::bugreporter::Tracker & getParentTracker()
  • public virtual Tracker::Result handle(const clang::Expr * E, const clang::ento::ExplodedNode * Original, const clang::ento::ExplodedNode * ExprNode, clang::ento::bugreporter::TrackingOptions Opts)
  • public virtual ~ExpressionHandler()

Methods

ExpressionHandler(
    clang::ento::bugreporter::Tracker&
        ParentTracker)

Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h:297

Parameters

clang::ento::bugreporter::Tracker& ParentTracker

clang::ento::bugreporter::Tracker&
getParentTracker()

Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h:311

Returns

the tracker that initiated the process.

virtual Tracker::Result handle(
    const clang::Expr* E,
    const clang::ento::ExplodedNode* Original,
    const clang::ento::ExplodedNode* ExprNode,
    clang::ento::bugreporter::TrackingOptions
        Opts)

Description

Handle the given expression from the given node.

Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h:306

Parameters

const clang::Expr* E
The expression value which we are tracking
const clang::ento::ExplodedNode* Original
A node "downstream" where the tracking started.
const clang::ento::ExplodedNode* ExprNode
A node where the evaluation of \c E actually happens.
clang::ento::bugreporter::TrackingOptions Opts
Tracking options specifying how we are tracking the value.

virtual ~ExpressionHandler()

Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h:298