class UndefOrNullArgVisitor

Declaration

class UndefOrNullArgVisitor : public BugReporterVisitor { /* full declaration omitted */ };

Description

When a region containing undefined value or '0' value is passed as an argument in a call, marks the call as interesting. As a result, BugReporter will not prune the path through the function even if the region's contents are not modified/accessed by the call.

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

Inherits from: BugReporterVisitor

Member Variables

private const clang::ento::MemRegion* R
The interesting memory region this visitor is tracking.

Method Overview

  • public void Profile(llvm::FoldingSetNodeID & ID) const
  • public UndefOrNullArgVisitor(const clang::ento::MemRegion * InR)
  • public clang::ento::PathDiagnosticPieceRef VisitNode(const clang::ento::ExplodedNode * N, clang::ento::BugReporterContext & BRC, clang::ento::PathSensitiveBugReport & BR)

Inherited from BugReporterVisitor:

Inherited from FoldingSetBase::Node:

Methods

void Profile(llvm::FoldingSetNodeID& ID) const

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

Parameters

llvm::FoldingSetNodeID& ID

UndefOrNullArgVisitor(
    const clang::ento::MemRegion* InR)

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

Parameters

const clang::ento::MemRegion* InR

clang::ento::PathDiagnosticPieceRef VisitNode(
    const clang::ento::ExplodedNode* N,
    clang::ento::BugReporterContext& BRC,
    clang::ento::PathSensitiveBugReport& BR)

Description

Return a diagnostic piece which should be associated with the given node. Note that this function does *not* get run on the very last node of the report, as the PathDiagnosticPiece associated with the last node should be unique. Use \ref getEndPath to customize the note associated with the report end instead. The last parameter can be used to register a new visitor with the given BugReport while processing a node.

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

Parameters

const clang::ento::ExplodedNode* N
clang::ento::BugReporterContext& BRC
clang::ento::PathSensitiveBugReport& BR