#include "FormatStringParsing.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/TargetInfo.h"
#include "llvm/Support/ConvertUTF.h"
#include <optional>
ArgType;
FormatStringHandler;
FormatSpecifier;
LengthModifier;
OptionalAmount;
ConversionSpecifier;
usingnamespaceclang;
FormatStringHandler::~FormatStringHandler() { … }
OptionalAmount
clang::analyze_format_string::ParseAmount(const char *&Beg, const char *E) { … }
OptionalAmount
clang::analyze_format_string::ParseNonPositionAmount(const char *&Beg,
const char *E,
unsigned &argIndex) { … }
OptionalAmount
clang::analyze_format_string::ParsePositionAmount(FormatStringHandler &H,
const char *Start,
const char *&Beg,
const char *E,
PositionContext p) { … }
bool
clang::analyze_format_string::ParseFieldWidth(FormatStringHandler &H,
FormatSpecifier &CS,
const char *Start,
const char *&Beg, const char *E,
unsigned *argIndex) { … }
bool
clang::analyze_format_string::ParseArgPosition(FormatStringHandler &H,
FormatSpecifier &FS,
const char *Start,
const char *&Beg,
const char *E) { … }
bool
clang::analyze_format_string::ParseVectorModifier(FormatStringHandler &H,
FormatSpecifier &FS,
const char *&I,
const char *E,
const LangOptions &LO) { … }
bool
clang::analyze_format_string::ParseLengthModifier(FormatSpecifier &FS,
const char *&I,
const char *E,
const LangOptions &LO,
bool IsScanf) { … }
bool clang::analyze_format_string::ParseUTF8InvalidSpecifier(
const char *SpecifierBegin, const char *FmtStrEnd, unsigned &Len) { … }
clang::analyze_format_string::ArgType::MatchKind
ArgType::matchesType(ASTContext &C, QualType argTy) const { … }
ArgType ArgType::makeVectorType(ASTContext &C, unsigned NumElts) const { … }
QualType ArgType::getRepresentativeType(ASTContext &C) const { … }
std::string ArgType::getRepresentativeTypeName(ASTContext &C) const { … }
ArgType
analyze_format_string::OptionalAmount::getArgType(ASTContext &Ctx) const { … }
const char *
analyze_format_string::LengthModifier::toString() const { … }
const char *ConversionSpecifier::toString() const { … }
std::optional<ConversionSpecifier>
ConversionSpecifier::getStandardSpecifier() const { … }
void OptionalAmount::toString(raw_ostream &os) const { … }
bool FormatSpecifier::hasValidLengthModifier(const TargetInfo &Target,
const LangOptions &LO) const { … }
bool FormatSpecifier::hasStandardLengthModifier() const { … }
bool FormatSpecifier::hasStandardConversionSpecifier(
const LangOptions &LangOpt) const { … }
bool FormatSpecifier::hasStandardLengthConversionCombination() const { … }
std::optional<LengthModifier>
FormatSpecifier::getCorrectedLengthModifier() const { … }
bool FormatSpecifier::namedTypeToLengthModifier(QualType QT,
LengthModifier &LM) { … }