clang 22.0.0git
FormatSpecifier Class Reference

#include "clang/AST/FormatString.h"

Inheritance diagram for FormatSpecifier:
[legend]

Public Member Functions

 FormatSpecifier (bool isPrintf)
void setLengthModifier (LengthModifier lm)
void setUsesPositionalArg ()
void setArgIndex (unsigned i)
unsigned getArgIndex () const
unsigned getPositionalArgIndex () const
const LengthModifiergetLengthModifier () const
const OptionalAmountgetFieldWidth () const
void setVectorNumElts (const OptionalAmount &Amt)
const OptionalAmountgetVectorNumElts () const
void setFieldWidth (const OptionalAmount &Amt)
bool usesPositionalArg () const
bool hasValidLengthModifier (const TargetInfo &Target, const LangOptions &LO) const
bool hasStandardLengthModifier () const
std::optional< LengthModifiergetCorrectedLengthModifier () const
bool hasStandardConversionSpecifier (const LangOptions &LangOpt) const
bool hasStandardLengthConversionCombination () const

Static Public Member Functions

static bool namedTypeToLengthModifier (ASTContext &Ctx, 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.

Protected Attributes

LengthModifier LM
OptionalAmount FieldWidth
ConversionSpecifier CS
OptionalAmount VectorNumElts
bool UsesPositionalArg
 Positional arguments, an IEEE extension: IEEE Std 1003.1, 2004 Edition http://www.opengroup.org/onlinepubs/009695399/functions/printf.html.
unsigned argIndex

Detailed Description

Definition at line 422 of file FormatString.h.

Constructor & Destructor Documentation

◆ FormatSpecifier()

clang::analyze_format_string::FormatSpecifier::FormatSpecifier ( bool isPrintf)
inline

Definition at line 435 of file FormatString.h.

Member Function Documentation

◆ getArgIndex()

unsigned clang::analyze_format_string::FormatSpecifier::getArgIndex ( ) const
inline

Definition at line 449 of file FormatString.h.

◆ getCorrectedLengthModifier()

std::optional< LengthModifier > FormatSpecifier::getCorrectedLengthModifier ( ) const

Definition at line 1265 of file FormatString.cpp.

◆ getFieldWidth()

const OptionalAmount & clang::analyze_format_string::FormatSpecifier::getFieldWidth ( ) const
inline

Definition at line 461 of file FormatString.h.

◆ getLengthModifier()

const LengthModifier & clang::analyze_format_string::FormatSpecifier::getLengthModifier ( ) const
inline

Definition at line 457 of file FormatString.h.

◆ getPositionalArgIndex()

unsigned clang::analyze_format_string::FormatSpecifier::getPositionalArgIndex ( ) const
inline

Definition at line 453 of file FormatString.h.

◆ getVectorNumElts()

const OptionalAmount & clang::analyze_format_string::FormatSpecifier::getVectorNumElts ( ) const
inline

Definition at line 469 of file FormatString.h.

◆ hasStandardConversionSpecifier()

bool FormatSpecifier::hasStandardConversionSpecifier ( const LangOptions & LangOpt) const

Definition at line 1196 of file FormatString.cpp.

◆ hasStandardLengthConversionCombination()

bool FormatSpecifier::hasStandardLengthConversionCombination ( ) const

Definition at line 1247 of file FormatString.cpp.

◆ hasStandardLengthModifier()

bool FormatSpecifier::hasStandardLengthModifier ( ) const

Definition at line 1171 of file FormatString.cpp.

◆ hasValidLengthModifier()

bool FormatSpecifier::hasValidLengthModifier ( const TargetInfo & Target,
const LangOptions & LO ) const

Definition at line 1002 of file FormatString.cpp.

◆ namedTypeToLengthModifier()

bool FormatSpecifier::namedTypeToLengthModifier ( ASTContext & Ctx,
QualType QT,
LengthModifier & LM )
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 1278 of file FormatString.cpp.

◆ setArgIndex()

void clang::analyze_format_string::FormatSpecifier::setArgIndex ( unsigned i)
inline

Definition at line 445 of file FormatString.h.

◆ setFieldWidth()

void clang::analyze_format_string::FormatSpecifier::setFieldWidth ( const OptionalAmount & Amt)
inline

Definition at line 473 of file FormatString.h.

◆ setLengthModifier()

void clang::analyze_format_string::FormatSpecifier::setLengthModifier ( LengthModifier lm)
inline

Definition at line 439 of file FormatString.h.

◆ setUsesPositionalArg()

void clang::analyze_format_string::FormatSpecifier::setUsesPositionalArg ( )
inline

Definition at line 443 of file FormatString.h.

◆ setVectorNumElts()

void clang::analyze_format_string::FormatSpecifier::setVectorNumElts ( const OptionalAmount & Amt)
inline

Definition at line 465 of file FormatString.h.

◆ usesPositionalArg()

bool clang::analyze_format_string::FormatSpecifier::usesPositionalArg ( ) const
inline

Definition at line 477 of file FormatString.h.

Member Data Documentation

◆ argIndex

unsigned clang::analyze_format_string::FormatSpecifier::argIndex
protected

Definition at line 433 of file FormatString.h.

◆ CS

ConversionSpecifier clang::analyze_format_string::FormatSpecifier::CS
protected

Definition at line 426 of file FormatString.h.

◆ FieldWidth

OptionalAmount clang::analyze_format_string::FormatSpecifier::FieldWidth
protected

Definition at line 425 of file FormatString.h.

◆ LM

LengthModifier clang::analyze_format_string::FormatSpecifier::LM
protected

Definition at line 424 of file FormatString.h.

◆ UsesPositionalArg

bool clang::analyze_format_string::FormatSpecifier::UsesPositionalArg
protected

Positional arguments, an IEEE extension: IEEE Std 1003.1, 2004 Edition http://www.opengroup.org/onlinepubs/009695399/functions/printf.html.

Definition at line 432 of file FormatString.h.

◆ VectorNumElts

OptionalAmount clang::analyze_format_string::FormatSpecifier::VectorNumElts
protected

Definition at line 427 of file FormatString.h.


The documentation for this class was generated from the following files: