14#ifndef LLVM_CLANG_AST_OSLOG_H
15#define LLVM_CLANG_AST_OSLOG_H
21namespace analyze_os_log {
73 const Expr *TheExpr =
nullptr;
81 StringRef maskType = StringRef())
82 : TheKind(kind), TheExpr(
expr), Size(
size), Flags(flags),
86 "unexpected privacy flag");
91 Size(Ctx.getTypeSizeInChars(Ctx.IntTy)), Flags(flags) {}
94 unsigned char result = Flags;
120 for (
auto &item :
Items) {
140 unsigned char result = 0;
156 OSLogBufferLayout &layout);
Defines the clang::ASTContext interface.
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
CallExpr - Represents a function call (C99 6.5.2.2, C++ [expr.call]).
CharUnits - This is an opaque type for sizes expressed in character units.
QuantityType getQuantity() const
getQuantity - Get the raw integer representation of this quantity.
static CharUnits fromQuantity(QuantityType Quantity)
fromQuantity - Construct a CharUnits quantity from a raw integer type.
This represents one expression.
An OSLogBufferItem represents a single item in the data written by a call to os_log() or os_trace().
StringRef getMaskType() const
OSLogBufferItem(Kind kind, const Expr *expr, CharUnits size, unsigned flags, StringRef maskType=StringRef())
CharUnits getConstValue() const
unsigned char getSizeByte() const
const Expr * getExpr() const
unsigned char getDescriptorByte() const
bool getIsPrivate() const
OSLogBufferItem(ASTContext &Ctx, CharUnits value, unsigned flags)
SmallVector< OSLogBufferItem, 4 > Items
bool hasNonScalarOrMask() const
bool hasPrivateItems() const
unsigned char getNumArgsByte() const
unsigned char getSummaryByte() const
bool computeOSLogBufferLayout(clang::ASTContext &Ctx, const clang::CallExpr *E, OSLogBufferLayout &layout)
const internal::VariadicDynCastAllOfMatcher< Stmt, Expr > expr
Matches expressions.
The JSON file list parser is used to communicate input to InstallAPI.