class PrintfSpecifier

Declaration

class PrintfSpecifier : public FormatSpecifier { /* full declaration omitted */ };

Declared at: clang/include/clang/AST/FormatString.h:500

Inherits from: FormatSpecifier

Member Variables

private clang::analyze_format_string::OptionalFlag HasThousandsGrouping
private clang::analyze_format_string::OptionalFlag IsLeftJustified
private clang::analyze_format_string::OptionalFlag HasPlusPrefix
private clang::analyze_format_string::OptionalFlag HasSpacePrefix
private clang::analyze_format_string::OptionalFlag HasAlternativeForm
private clang::analyze_format_string::OptionalFlag HasLeadingZeroes
private clang::analyze_format_string::OptionalFlag HasObjCTechnicalTerm
private clang::analyze_format_string::OptionalFlag IsPrivate
private clang::analyze_format_string::OptionalFlag IsPublic
private clang::analyze_format_string::OptionalFlag IsSensitive
private clang::analyze_format_string::OptionalAmount Precision
private llvm::StringRef MaskType

Inherited from FormatSpecifier:

protected LM
protected FieldWidth
protected CS
protected VectorNumElts
protected UsesPositionalArg
protected argIndex

Method Overview

Inherited from FormatSpecifier:

Methods

static clang::analyze_printf::PrintfSpecifier
Parse(const char* beg, const char* end)

Declared at: clang/include/clang/AST/FormatString.h:524

Parameters

const char* beg
const char* end

PrintfSpecifier()

Declared at: clang/include/clang/AST/FormatString.h:517

bool consumesDataArgument() const

Declared at: clang/include/clang/AST/FormatString.h:573

bool fixType(clang::QualType QT,
             const clang::LangOptions& LangOpt,
             clang::ASTContext& Ctx,
             bool IsObjCLiteral)

Description

Changes the specifier and length according to a QualType, retaining any flags or options. Returns true on success, or false when a conversion was not successful.

Declared at: clang/include/clang/AST/FormatString.h:604

Parameters

clang::QualType QT
const clang::LangOptions& LangOpt
clang::ASTContext& Ctx
bool IsObjCLiteral

clang::analyze_format_string::ArgType getArgType(
    clang::ASTContext& Ctx,
    bool IsObjCLiteral) const

Description

Returns the builtin type that a data argument paired with this format specifier should have. This method will return null if the format specifier does not have a matching data argument or the matching argument matches more than one type.

Declared at: clang/include/clang/AST/FormatString.h:582

Parameters

clang::ASTContext& Ctx
bool IsObjCLiteral

const clang::analyze_printf::
    PrintfConversionSpecifier&
    getConversionSpecifier() const

Declared at: clang/include/clang/AST/FormatString.h:560

llvm::StringRef getMaskType() const

Declared at: clang/include/clang/AST/FormatString.h:598

const clang::analyze_format_string::
    OptionalAmount&
    getPrecision() const

Declared at: clang/include/clang/AST/FormatString.h:569

clang::analyze_format_string::ArgType
getScalarArgType(clang::ASTContext& Ctx,
                 bool IsObjCLiteral) const

Declared at: clang/include/clang/AST/FormatString.h:514

Parameters

clang::ASTContext& Ctx
bool IsObjCLiteral

const clang::analyze_format_string::OptionalFlag&
hasAlternativeForm() const

Declared at: clang/include/clang/AST/FormatString.h:589

const clang::analyze_format_string::OptionalFlag&
hasLeadingZeros() const

Declared at: clang/include/clang/AST/FormatString.h:590

const clang::analyze_format_string::OptionalFlag&
hasObjCTechnicalTerm() const

Declared at: clang/include/clang/AST/FormatString.h:592

const clang::analyze_format_string::OptionalFlag&
hasPlusPrefix() const

Declared at: clang/include/clang/AST/FormatString.h:588

const clang::analyze_format_string::OptionalFlag&
hasSpacePrefix() const

Declared at: clang/include/clang/AST/FormatString.h:591

const clang::analyze_format_string::OptionalFlag&
hasThousandsGrouping() const

Declared at: clang/include/clang/AST/FormatString.h:584

bool hasValidAlternativeForm() const

Declared at: clang/include/clang/AST/FormatString.h:611

bool hasValidFieldWidth() const

Declared at: clang/include/clang/AST/FormatString.h:618

bool hasValidLeadingZeros() const

Declared at: clang/include/clang/AST/FormatString.h:612

bool hasValidLeftJustified() const

Declared at: clang/include/clang/AST/FormatString.h:614

bool hasValidPlusPrefix() const

Declared at: clang/include/clang/AST/FormatString.h:610

bool hasValidPrecision() const

Declared at: clang/include/clang/AST/FormatString.h:617

bool hasValidSpacePrefix() const

Declared at: clang/include/clang/AST/FormatString.h:613

bool hasValidThousandsGroupingPrefix() const

Declared at: clang/include/clang/AST/FormatString.h:615

const clang::analyze_format_string::OptionalFlag&
isLeftJustified() const

Declared at: clang/include/clang/AST/FormatString.h:587

const clang::analyze_format_string::OptionalFlag&
isPrivate() const

Declared at: clang/include/clang/AST/FormatString.h:593

const clang::analyze_format_string::OptionalFlag&
isPublic() const

Declared at: clang/include/clang/AST/FormatString.h:594

const clang::analyze_format_string::OptionalFlag&
isSensitive() const

Declared at: clang/include/clang/AST/FormatString.h:595

void setConversionSpecifier(
    const clang::analyze_printf::
        PrintfConversionSpecifier& cs)

Declared at: clang/include/clang/AST/FormatString.h:527

Parameters

const clang::analyze_printf:: PrintfConversionSpecifier& cs

void setHasAlternativeForm(const char* position)

Declared at: clang/include/clang/AST/FormatString.h:542

Parameters

const char* position

void setHasLeadingZeros(const char* position)

Declared at: clang/include/clang/AST/FormatString.h:545

Parameters

const char* position

void setHasObjCTechnicalTerm(const char* position)

Declared at: clang/include/clang/AST/FormatString.h:548

Parameters

const char* position

void setHasPlusPrefix(const char* position)

Declared at: clang/include/clang/AST/FormatString.h:536

Parameters

const char* position

void setHasSpacePrefix(const char* position)

Declared at: clang/include/clang/AST/FormatString.h:539

Parameters

const char* position

void setHasThousandsGrouping(const char* position)

Declared at: clang/include/clang/AST/FormatString.h:530

Parameters

const char* position

void setIsLeftJustified(const char* position)

Declared at: clang/include/clang/AST/FormatString.h:533

Parameters

const char* position

void setIsPrivate(const char* position)

Declared at: clang/include/clang/AST/FormatString.h:551

Parameters

const char* position

void setIsPublic(const char* position)

Declared at: clang/include/clang/AST/FormatString.h:552

Parameters

const char* position

void setIsSensitive(const char* position)

Declared at: clang/include/clang/AST/FormatString.h:553

Parameters

const char* position

void setMaskType(llvm::StringRef S)

Declared at: clang/include/clang/AST/FormatString.h:599

Parameters

llvm::StringRef S

void setPrecision(
    const clang::analyze_format_string::
        OptionalAmount& Amt)

Declared at: clang/include/clang/AST/FormatString.h:564

Parameters

const clang::analyze_format_string:: OptionalAmount& Amt

void setUsesPositionalArg()

Declared at: clang/include/clang/AST/FormatString.h:556

void toString(llvm::raw_ostream& os) const

Declared at: clang/include/clang/AST/FormatString.h:607

Parameters

llvm::raw_ostream& os

bool usesPositionalArg() const

Declared at: clang/include/clang/AST/FormatString.h:596