clang API Documentation

Public Member Functions | Static Public Member Functions
clang::ento::NilReceiverBRVisitor Class Reference

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

#include <BugReporterVisitor.h>

Inheritance diagram for clang::ento::NilReceiverBRVisitor:
Inheritance graph
[legend]
Collaboration diagram for clang::ento::NilReceiverBRVisitor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void Profile (llvm::FoldingSetNodeID &ID) const override
PathDiagnosticPieceVisitNode (const ExplodedNode *N, const ExplodedNode *PrevN, BugReporterContext &BRC, BugReport &BR) override
 Return a diagnostic piece which should be associated with the given node.

Static Public Member Functions

static const ExprgetNilReceiver (const Stmt *S, const ExplodedNode *N)

Detailed Description

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

Definition at line 164 of file BugReporterVisitor.h.


Member Function Documentation

const Expr * NilReceiverBRVisitor::getNilReceiver ( const Stmt S,
const ExplodedNode N 
) [static]

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

Definition at line 1052 of file BugReporterVisitors.cpp.

References clang::ObjCMessageExpr::getInstanceReceiver(), clang::ento::ExplodedNode::getLocationContext(), clang::ento::ExplodedNode::getState(), and S.

Referenced by clang::ento::bugreporter::trackNullOrUndefValue(), and VisitNode().

void clang::ento::NilReceiverBRVisitor::Profile ( llvm::FoldingSetNodeID &  ID) const [inline, override, virtual]

Implements clang::ento::BugReporterVisitor.

Definition at line 168 of file BugReporterVisitor.h.

PathDiagnosticPiece * NilReceiverBRVisitor::VisitNode ( const ExplodedNode Succ,
const ExplodedNode Pred,
BugReporterContext BRC,
BugReport BR 
) [override, virtual]

Return a diagnostic piece which should be associated with the given node.

The last parameter can be used to register a new visitor with the given BugReport while processing a node.

Implements clang::ento::BugReporterVisitor.

Definition at line 1066 of file BugReporterVisitors.cpp.

References clang::ento::ExplodedNode::getLocationAs(), clang::ento::ExplodedNode::getLocationContext(), getNilReceiver(), clang::ento::BugReporterContext::getSourceManager(), P, and clang::ento::bugreporter::trackNullOrUndefValue().


The documentation for this class was generated from the following files: