clang
13.0.0git
|
#include "clang/AST/FormatString.h"
Public Types | |
enum | Kind { InvalidSpecifier = 0, cArg, dArg, DArg, iArg, IntArgBeg = dArg, IntArgEnd = iArg, oArg, OArg, uArg, UArg, xArg, XArg, UIntArgBeg = oArg, UIntArgEnd = XArg, fArg, FArg, eArg, EArg, gArg, GArg, aArg, AArg, DoubleArgBeg = fArg, DoubleArgEnd = AArg, sArg, pArg, nArg, PercentArg, CArg, SArg, PArg, ZArg, ObjCObjArg, ObjCBeg = ObjCObjArg, ObjCEnd = ObjCObjArg, FreeBSDbArg, FreeBSDDArg, FreeBSDrArg, FreeBSDyArg, PrintErrno, PrintfConvBeg = ObjCObjArg, PrintfConvEnd = PrintErrno, ScanListArg, ScanfConvBeg = ScanListArg, ScanfConvEnd = ScanListArg } |
Public Member Functions | |
ConversionSpecifier (bool isPrintf=true) | |
ConversionSpecifier (bool isPrintf, const char *pos, Kind k) | |
const char * | getStart () const |
StringRef | getCharacters () const |
bool | consumesDataArgument () const |
Kind | getKind () const |
void | setKind (Kind k) |
unsigned | getLength () const |
void | setEndScanList (const char *pos) |
bool | isIntArg () const |
bool | isUIntArg () const |
bool | isAnyIntArg () const |
bool | isDoubleArg () const |
const char * | toString () const |
bool | isPrintfKind () const |
Optional< ConversionSpecifier > | getStandardSpecifier () const |
Protected Attributes | |
bool | IsPrintf |
const char * | Position |
const char * | EndScanList |
Kind | kind |
Definition at line 121 of file FormatString.h.
Definition at line 123 of file FormatString.h.
|
inline |
Definition at line 192 of file FormatString.h.
|
inline |
Definition at line 196 of file FormatString.h.
|
inline |
Definition at line 207 of file FormatString.h.
References InvalidSpecifier, IsPrintf, kind, PercentArg, and PrintErrno.
Referenced by clang::analyze_printf::PrintfSpecifier::consumesDataArgument(), clang::analyze_scanf::ScanfSpecifier::consumesDataArgument(), clang::analyze_printf::PrintfSpecifier::getArgType(), and clang::analyze_scanf::ScanfSpecifier::getArgType().
|
inline |
Definition at line 203 of file FormatString.h.
References getLength(), and getStart().
|
inline |
Definition at line 221 of file FormatString.h.
References kind.
Referenced by clang::analyze_scanf::ScanfSpecifier::getArgType(), clang::analyze_format_string::FormatSpecifier::getCorrectedLengthModifier(), getStandardSpecifier(), clang::analyze_format_string::FormatSpecifier::hasStandardConversionSpecifier(), clang::analyze_format_string::FormatSpecifier::hasStandardLengthConversionCombination(), and clang::analyze_format_string::FormatSpecifier::hasValidLengthModifier().
|
inline |
Definition at line 223 of file FormatString.h.
References EndScanList, and Position.
Referenced by getCharacters().
Optional< ConversionSpecifier > ConversionSpecifier::getStandardSpecifier | ( | ) | const |
|
inline |
|
inline |
Definition at line 231 of file FormatString.h.
References IntArgBeg, kind, and UIntArgEnd.
Referenced by clang::analyze_format_string::FormatSpecifier::getCorrectedLengthModifier().
|
inline |
Definition at line 232 of file FormatString.h.
References DoubleArgBeg, DoubleArgEnd, and kind.
Referenced by clang::analyze_format_string::FormatSpecifier::hasValidLengthModifier().
|
inline |
Definition at line 228 of file FormatString.h.
References FreeBSDrArg, FreeBSDyArg, IntArgBeg, IntArgEnd, and kind.
|
inline |
Definition at line 238 of file FormatString.h.
References IsPrintf.
Referenced by clang::analyze_printf::PrintfConversionSpecifier::classof(), and clang::analyze_scanf::ScanfConversionSpecifier::classof().
|
inline |
Definition at line 230 of file FormatString.h.
References kind, UIntArgBeg, and UIntArgEnd.
|
inline |
Definition at line 226 of file FormatString.h.
References EndScanList.
Referenced by ParseScanList().
|
inline |
Definition at line 222 of file FormatString.h.
References kind.
Referenced by getStandardSpecifier().
const char * ConversionSpecifier::toString | ( | ) | const |
Definition at line 620 of file FormatString.cpp.
References aArg, AArg, cArg, CArg, dArg, DArg, eArg, EArg, fArg, FArg, FreeBSDbArg, FreeBSDDArg, FreeBSDrArg, FreeBSDyArg, gArg, GArg, iArg, InvalidSpecifier, kind, nArg, oArg, OArg, ObjCObjArg, pArg, PArg, PercentArg, PrintErrno, sArg, SArg, ScanListArg, uArg, UArg, xArg, XArg, and ZArg.
|
protected |
Definition at line 245 of file FormatString.h.
Referenced by getLength(), and setEndScanList().
|
protected |
Definition at line 243 of file FormatString.h.
Referenced by consumesDataArgument(), and isPrintfKind().
|
protected |
Definition at line 246 of file FormatString.h.
Referenced by consumesDataArgument(), getKind(), isAnyIntArg(), isDoubleArg(), clang::analyze_printf::PrintfConversionSpecifier::isDoubleArg(), isIntArg(), clang::analyze_printf::PrintfConversionSpecifier::isObjCArg(), isUIntArg(), setKind(), and toString().
|
protected |
Definition at line 244 of file FormatString.h.
Referenced by getLength(), and getStart().