9#ifndef LLVM_CLANG_ANALYZER_WEBKIT_ASTUTILS_H
10#define LLVM_CLANG_ANALYZER_WEBKIT_ASTUTILS_H
13#include "llvm/ADT/APInt.h"
14#include "llvm/Support/Casting.h"
57 std::function<
bool(
const clang::Expr *,
bool)> callback);
69 const auto *
const ND = llvm::dyn_cast_or_null<clang::NamedDecl>(ASTNode);
75 if (!ND->getDeclName().isIdentifier())
78 return ND->getName().str();
This represents one expression.
The JSON file list parser is used to communicate input to InstallAPI.
bool isASafeCallArg(const Expr *E)
For E referring to a ref-countable/-counted pointer/reference we return whether it's a safe call argu...
const FunctionProtoType * T
bool tryToFindPtrOrigin(const Expr *E, bool StopAtFirstRefCountedObj, std::function< bool(const clang::Expr *, bool)> callback)
This function de-facto defines a set of transformations that we consider safe (in heuristical sense).
std::string safeGetName(const T *ASTNode)