|
clang
5.0.0
|
#include "clang/Analysis/Analyses/FormatString.h"
Public Member Functions | |
| FormatSpecifier (bool isPrintf) | |
| void | setLengthModifier (LengthModifier lm) |
| void | setUsesPositionalArg () |
| void | setArgIndex (unsigned i) |
| unsigned | getArgIndex () const |
| unsigned | getPositionalArgIndex () const |
| const LengthModifier & | getLengthModifier () const |
| const OptionalAmount & | getFieldWidth () const |
| void | setFieldWidth (const OptionalAmount &Amt) |
| bool | usesPositionalArg () const |
| bool | hasValidLengthModifier (const TargetInfo &Target) const |
| bool | hasStandardLengthModifier () const |
| Optional< LengthModifier > | getCorrectedLengthModifier () const |
| bool | hasStandardConversionSpecifier (const LangOptions &LangOpt) const |
| bool | hasStandardLengthConversionCombination () const |
Static Public Member Functions | |
| static bool | namedTypeToLengthModifier (QualType QT, LengthModifier &LM) |
| For a TypedefType QT, if it is a named integer type such as size_t, assign the appropriate value to LM and return true. More... | |
Protected Attributes | |
| LengthModifier | LM |
| OptionalAmount | FieldWidth |
| ConversionSpecifier | CS |
| bool | UsesPositionalArg |
| Positional arguments, an IEEE extension: IEEE Std 1003.1, 2004 Edition http://www.opengroup.org/onlinepubs/009695399/functions/printf.html. More... | |
| unsigned | argIndex |
Definition at line 354 of file FormatString.h.
|
inline |
Definition at line 365 of file FormatString.h.
|
inline |
Definition at line 378 of file FormatString.h.
References argIndex.
| Optional< LengthModifier > FormatSpecifier::getCorrectedLengthModifier | ( | ) | const |
Definition at line 908 of file FormatString.cpp.
References clang::analyze_format_string::LengthModifier::AsLongDouble, clang::analyze_format_string::LengthModifier::AsLongLong, clang::analyze_format_string::LengthModifier::AsQuad, CS, clang::analyze_format_string::LengthModifier::getKind(), clang::analyze_format_string::ConversionSpecifier::getKind(), clang::analyze_format_string::ConversionSpecifier::isAnyIntArg(), LM, clang::analyze_format_string::ConversionSpecifier::nArg, clang::None, and clang::analyze_format_string::LengthModifier::setKind().
|
inline |
Definition at line 390 of file FormatString.h.
References FieldWidth.
|
inline |
Definition at line 386 of file FormatString.h.
References LM.
|
inline |
Definition at line 382 of file FormatString.h.
References argIndex.
| bool FormatSpecifier::hasStandardConversionSpecifier | ( | const LangOptions & | LangOpt | ) | const |
Definition at line 847 of file FormatString.cpp.
References clang::analyze_format_string::ConversionSpecifier::aArg, clang::analyze_format_string::ConversionSpecifier::AArg, clang::analyze_format_string::ConversionSpecifier::cArg, clang::analyze_format_string::ConversionSpecifier::CArg, CS, clang::analyze_format_string::ConversionSpecifier::dArg, clang::analyze_format_string::ConversionSpecifier::DArg, clang::analyze_format_string::ConversionSpecifier::eArg, clang::analyze_format_string::ConversionSpecifier::EArg, clang::analyze_format_string::ConversionSpecifier::fArg, clang::analyze_format_string::ConversionSpecifier::FArg, clang::analyze_format_string::ConversionSpecifier::FreeBSDbArg, clang::analyze_format_string::ConversionSpecifier::FreeBSDDArg, clang::analyze_format_string::ConversionSpecifier::FreeBSDrArg, clang::analyze_format_string::ConversionSpecifier::FreeBSDyArg, clang::analyze_format_string::ConversionSpecifier::gArg, clang::analyze_format_string::ConversionSpecifier::GArg, clang::analyze_format_string::ConversionSpecifier::getKind(), clang::analyze_format_string::ConversionSpecifier::iArg, clang::analyze_format_string::ConversionSpecifier::InvalidSpecifier, clang::analyze_format_string::ConversionSpecifier::nArg, clang::analyze_format_string::ConversionSpecifier::oArg, clang::analyze_format_string::ConversionSpecifier::OArg, clang::analyze_format_string::ConversionSpecifier::ObjCObjArg, clang::analyze_format_string::ConversionSpecifier::pArg, clang::analyze_format_string::ConversionSpecifier::PArg, clang::analyze_format_string::ConversionSpecifier::PercentArg, clang::analyze_format_string::ConversionSpecifier::PrintErrno, clang::analyze_format_string::ConversionSpecifier::sArg, clang::analyze_format_string::ConversionSpecifier::SArg, clang::analyze_format_string::ConversionSpecifier::ScanListArg, clang::analyze_format_string::ConversionSpecifier::uArg, clang::analyze_format_string::ConversionSpecifier::UArg, clang::analyze_format_string::ConversionSpecifier::xArg, clang::analyze_format_string::ConversionSpecifier::XArg, and clang::analyze_format_string::ConversionSpecifier::ZArg.
| bool FormatSpecifier::hasStandardLengthConversionCombination | ( | ) | const |
Definition at line 891 of file FormatString.cpp.
References clang::analyze_format_string::LengthModifier::AsLongDouble, CS, clang::analyze_format_string::ConversionSpecifier::dArg, clang::analyze_format_string::LengthModifier::getKind(), clang::analyze_format_string::ConversionSpecifier::getKind(), clang::analyze_format_string::ConversionSpecifier::iArg, LM, clang::analyze_format_string::ConversionSpecifier::oArg, clang::analyze_format_string::ConversionSpecifier::uArg, clang::analyze_format_string::ConversionSpecifier::xArg, and clang::analyze_format_string::ConversionSpecifier::XArg.
| bool FormatSpecifier::hasStandardLengthModifier | ( | ) | const |
Definition at line 823 of file FormatString.cpp.
References clang::analyze_format_string::LengthModifier::AsAllocate, clang::analyze_format_string::LengthModifier::AsChar, clang::analyze_format_string::LengthModifier::AsInt32, clang::analyze_format_string::LengthModifier::AsInt3264, clang::analyze_format_string::LengthModifier::AsInt64, clang::analyze_format_string::LengthModifier::AsIntMax, clang::analyze_format_string::LengthModifier::AsLong, clang::analyze_format_string::LengthModifier::AsLongDouble, clang::analyze_format_string::LengthModifier::AsLongLong, clang::analyze_format_string::LengthModifier::AsMAllocate, clang::analyze_format_string::LengthModifier::AsPtrDiff, clang::analyze_format_string::LengthModifier::AsQuad, clang::analyze_format_string::LengthModifier::AsShort, clang::analyze_format_string::LengthModifier::AsSizeT, clang::analyze_format_string::LengthModifier::AsWide, clang::analyze_format_string::LengthModifier::getKind(), LM, and clang::analyze_format_string::LengthModifier::None.
| bool FormatSpecifier::hasValidLengthModifier | ( | const TargetInfo & | Target | ) | const |
Definition at line 671 of file FormatString.cpp.
References clang::analyze_format_string::ConversionSpecifier::aArg, clang::analyze_format_string::ConversionSpecifier::AArg, clang::analyze_format_string::LengthModifier::AsAllocate, clang::analyze_format_string::LengthModifier::AsChar, clang::analyze_format_string::LengthModifier::AsInt32, clang::analyze_format_string::LengthModifier::AsInt3264, clang::analyze_format_string::LengthModifier::AsInt64, clang::analyze_format_string::LengthModifier::AsIntMax, clang::analyze_format_string::LengthModifier::AsLong, clang::analyze_format_string::LengthModifier::AsLongDouble, clang::analyze_format_string::LengthModifier::AsLongLong, clang::analyze_format_string::LengthModifier::AsMAllocate, clang::analyze_format_string::LengthModifier::AsPtrDiff, clang::analyze_format_string::LengthModifier::AsQuad, clang::analyze_format_string::LengthModifier::AsShort, clang::analyze_format_string::LengthModifier::AsSizeT, clang::analyze_format_string::LengthModifier::AsWide, clang::analyze_format_string::ConversionSpecifier::cArg, clang::analyze_format_string::ConversionSpecifier::CArg, CS, clang::analyze_format_string::ConversionSpecifier::dArg, clang::analyze_format_string::ConversionSpecifier::DArg, clang::analyze_format_string::ConversionSpecifier::eArg, clang::analyze_format_string::ConversionSpecifier::EArg, clang::analyze_format_string::ConversionSpecifier::fArg, clang::analyze_format_string::ConversionSpecifier::FArg, clang::analyze_format_string::ConversionSpecifier::FreeBSDrArg, clang::analyze_format_string::ConversionSpecifier::FreeBSDyArg, clang::analyze_format_string::ConversionSpecifier::gArg, clang::analyze_format_string::ConversionSpecifier::GArg, clang::analyze_format_string::LengthModifier::getKind(), clang::analyze_format_string::ConversionSpecifier::getKind(), clang::TargetInfo::getTriple(), clang::analyze_format_string::ConversionSpecifier::iArg, LM, clang::analyze_format_string::ConversionSpecifier::nArg, clang::analyze_format_string::LengthModifier::None, clang::analyze_format_string::ConversionSpecifier::oArg, clang::analyze_format_string::ConversionSpecifier::OArg, clang::analyze_format_string::ConversionSpecifier::sArg, clang::analyze_format_string::ConversionSpecifier::SArg, clang::analyze_format_string::ConversionSpecifier::ScanListArg, clang::analyze_format_string::ConversionSpecifier::uArg, clang::analyze_format_string::ConversionSpecifier::UArg, clang::analyze_format_string::ConversionSpecifier::xArg, clang::analyze_format_string::ConversionSpecifier::XArg, and clang::analyze_format_string::ConversionSpecifier::ZArg.
|
static |
For a TypedefType QT, if it is a named integer type such as size_t, assign the appropriate value to LM and return true.
Definition at line 921 of file FormatString.cpp.
References clang::analyze_format_string::LengthModifier::AsIntMax, clang::analyze_format_string::LengthModifier::AsPtrDiff, clang::analyze_format_string::LengthModifier::AsSizeT, clang::NamedDecl::getIdentifier(), clang::IdentifierInfo::getName(), clang::TypedefNameDecl::getUnderlyingType(), and clang::analyze_format_string::LengthModifier::setKind().
|
inline |
Definition at line 374 of file FormatString.h.
References argIndex.
Referenced by clang::analyze_format_string::ParseArgPosition().
|
inline |
Definition at line 394 of file FormatString.h.
References FieldWidth.
Referenced by clang::analyze_format_string::ParseFieldWidth().
|
inline |
Definition at line 368 of file FormatString.h.
References LM.
Referenced by clang::analyze_format_string::ParseLengthModifier().
|
inline |
Definition at line 372 of file FormatString.h.
References UsesPositionalArg.
Referenced by clang::analyze_format_string::ParseArgPosition().
|
inline |
Definition at line 398 of file FormatString.h.
References UsesPositionalArg.
|
protected |
Definition at line 363 of file FormatString.h.
Referenced by getArgIndex(), getPositionalArgIndex(), and setArgIndex().
|
protected |
Definition at line 358 of file FormatString.h.
Referenced by clang::analyze_scanf::ScanfSpecifier::consumesDataArgument(), clang::analyze_printf::PrintfSpecifier::getConversionSpecifier(), clang::analyze_scanf::ScanfSpecifier::getConversionSpecifier(), getCorrectedLengthModifier(), hasStandardConversionSpecifier(), hasStandardLengthConversionCombination(), hasValidLengthModifier(), clang::analyze_printf::PrintfSpecifier::setConversionSpecifier(), and clang::analyze_scanf::ScanfSpecifier::setConversionSpecifier().
|
protected |
Definition at line 357 of file FormatString.h.
Referenced by getFieldWidth(), and setFieldWidth().
|
protected |
Definition at line 356 of file FormatString.h.
Referenced by getCorrectedLengthModifier(), getLengthModifier(), hasStandardLengthConversionCombination(), hasStandardLengthModifier(), hasValidLengthModifier(), and setLengthModifier().
|
protected |
Positional arguments, an IEEE extension: IEEE Std 1003.1, 2004 Edition http://www.opengroup.org/onlinepubs/009695399/functions/printf.html.
Definition at line 362 of file FormatString.h.
Referenced by setUsesPositionalArg(), clang::analyze_printf::PrintfSpecifier::setUsesPositionalArg(), usesPositionalArg(), and clang::analyze_printf::PrintfSpecifier::usesPositionalArg().
1.8.6