clang 24.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 LengthModifier & getLengthModifier () const
const OptionalAmount & getFieldWidth () const
void setVectorNumElts (const OptionalAmount &Amt)
const OptionalAmount & getVectorNumElts () const
void setFieldWidth (const OptionalAmount &Amt)
bool usesPositionalArg () const
bool hasValidLengthModifier (const TargetInfo &Target, const LangOptions &LO) const
bool hasStandardLengthModifier () const
std::optional< LengthModifier > getCorrectedLengthModifier () 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 461 of file FormatString.h.

Constructor & Destructor Documentation

◆ FormatSpecifier()

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

Definition at line 475 of file FormatString.h.

Member Function Documentation

◆ getArgIndex()

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

Definition at line 485 of file FormatString.h.

◆ getCorrectedLengthModifier()

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

Definition at line 1472 of file FormatString.cpp.

◆ getFieldWidth()

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

Definition at line 491 of file FormatString.h.

◆ getLengthModifier()

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

Definition at line 489 of file FormatString.h.

◆ getPositionalArgIndex()

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

Definition at line 487 of file FormatString.h.

◆ getVectorNumElts()

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

Definition at line 495 of file FormatString.h.

◆ hasStandardConversionSpecifier()

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

Definition at line 1403 of file FormatString.cpp.

◆ hasStandardLengthConversionCombination()

bool FormatSpecifier::hasStandardLengthConversionCombination ( ) const

Definition at line 1454 of file FormatString.cpp.

◆ hasStandardLengthModifier()

bool FormatSpecifier::hasStandardLengthModifier ( ) const

Definition at line 1373 of file FormatString.cpp.

◆ hasValidLengthModifier()

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

Definition at line 1158 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 1485 of file FormatString.cpp.

◆ setArgIndex()

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

Definition at line 483 of file FormatString.h.

◆ setFieldWidth()

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

Definition at line 497 of file FormatString.h.

◆ setLengthModifier()

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

Definition at line 479 of file FormatString.h.

◆ setUsesPositionalArg()

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

Definition at line 481 of file FormatString.h.

◆ setVectorNumElts()

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

Definition at line 493 of file FormatString.h.

◆ usesPositionalArg()

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

Definition at line 499 of file FormatString.h.

Member Data Documentation

◆ argIndex

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

Definition at line 472 of file FormatString.h.

◆ CS

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

Definition at line 465 of file FormatString.h.

◆ FieldWidth

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

Definition at line 464 of file FormatString.h.

◆ LM

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

Definition at line 463 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 471 of file FormatString.h.

◆ VectorNumElts

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

Definition at line 466 of file FormatString.h.


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