class NilReceiverBRVisitor

Declaration

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

Description

Prints path notes when a message is sent to a nil receiver.

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

Inherits from: BugReporterVisitor

Member Variables

Method Overview

  • public void Profile(llvm::FoldingSetNodeID & ID) const
  • public clang::ento::PathDiagnosticPieceRef VisitNode(const clang::ento::ExplodedNode * N, clang::ento::BugReporterContext & BRC, clang::ento::PathSensitiveBugReport & BR)
  • public static const clang::Expr * getNilReceiver(const clang::Stmt * S, const clang::ento::ExplodedNode * N)

Inherited from BugReporterVisitor:

Inherited from FoldingSetBase::Node:

Methods

void Profile(llvm::FoldingSetNodeID& ID) const

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

Parameters

llvm::FoldingSetNodeID& ID

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:426

Parameters

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

static const clang::Expr* getNilReceiver(
    const clang::Stmt* S,
    const clang::ento::ExplodedNode* N)

Description

If the statement is a message send expression with nil receiver, returns the receiver expression. Returns NULL otherwise.

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

Parameters

const clang::Stmt* S
const clang::ento::ExplodedNode* N