clang 10.0.0git

Classes | Namespaces | Enumerations | Functions
VirtualCallChecker.cpp File Reference
`#include "clang/AST/Attr.h"`
`#include "clang/AST/DeclCXX.h"`
`#include "clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h"`
`#include "clang/StaticAnalyzer/Core/BugReporter/BugReporter.h"`
`#include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"`
`#include "clang/StaticAnalyzer/Core/Checker.h"`
`#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"`
`#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"`
`#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h"`
`#include "clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h"`
Include dependency graph for VirtualCallChecker.cpp:

Go to the source code of this file.

## Classes
struct | llvm::FoldingSetTrait< ObjectState >

## Namespaces
| llvm
| Specialize PointerLikeTypeTraits to allow LazyGenerationalUpdatePtr to be placed into a PointerUnion.

## Enumerations
enum | ObjectState : bool

## Functions
static bool | isVirtualCall (const CallExpr *CE)

## Enumeration Type Documentation

## ◆ ObjectState

enum ObjectState : bool
| strong

Definition at line 29 of file VirtualCallChecker.cpp.

## Function Documentation

## ◆ isVirtualCall()

static bool isVirtualCall | ( | const CallExpr * | CE | ) |
| static

Definition at line 63 of file VirtualCallChecker.cpp.

References clang::FixItHint::CreateInsertion(), clang::ento::categories::CXXObjectLifecycle, clang::NamedDecl::getNameAsString(), clang::CXXMethodDecl::getParent(), clang::Decl::hasAttr(), clang::FunctionDecl::isPure(), clang::CXXMethodDecl::isVirtual(), clang::ento::OS, and State.