clang 20.0.0git
|
#include <cassert>
#include "clang/AST/Decl.h"
#include "clang/AST/Expr.h"
#include "clang/AST/Stmt.h"
#include "clang/ASTMatchers/ASTMatchers.h"
#include "clang/Analysis/FlowSensitive/MatchSwitch.h"
#include "clang/Analysis/FlowSensitive/StorageLocation.h"
#include "clang/Analysis/FlowSensitive/Value.h"
#include "llvm/ADT/STLFunctionalExtras.h"
Go to the source code of this file.
Namespaces | |
namespace | clang |
The JSON file list parser is used to communicate input to InstallAPI. | |
namespace | clang::dataflow |
Dataflow Directional Tag Classes. | |
Functions | |
ast_matchers::StatementMatcher | clang::dataflow::isSmartPointerLikeOperatorStar () |
Matchers: For now, these match on any class with an operator* or operator-> where the return types have a similar shape as std::unique_ptr and std::optional. | |
ast_matchers::StatementMatcher | clang::dataflow::isSmartPointerLikeOperatorArrow () |
ast_matchers::StatementMatcher | clang::dataflow::isSmartPointerLikeValueMethodCall () |
ast_matchers::StatementMatcher | clang::dataflow::isSmartPointerLikeGetMethodCall () |
const FunctionDecl * | clang::dataflow::getCanonicalSmartPointerLikeOperatorCallee (const CallExpr *CE) |
Returns the "canonical" callee for smart pointer operators (* and -> ) as a key for caching. | |
template<typename LatticeT > | |
void | clang::dataflow::transferSmartPointerLikeCachedDeref (const CallExpr *DerefExpr, RecordStorageLocation *SmartPointerLoc, TransferState< LatticeT > &State, llvm::function_ref< void(StorageLocation &)> InitializeLoc) |
A transfer function for operator* (and value ) calls that can be cached. | |
template<typename LatticeT > | |
void | clang::dataflow::transferSmartPointerLikeCachedGet (const CallExpr *GetExpr, RecordStorageLocation *SmartPointerLoc, TransferState< LatticeT > &State, llvm::function_ref< void(StorageLocation &)> InitializeLoc) |
A transfer function for operator-> (and get ) calls that can be cached. | |