Lines Matching defs:FS
288 void FormatStringConverter::emitAlignment(const PrintfSpecifier &FS,
290 ConversionSpecifier::Kind ArgKind = FS.getConversionSpecifier().getKind();
293 if (FS.getFieldWidth().getHowSpecified() != OptionalAmount::NotSpecified) {
297 if (!FS.isLeftJustified())
302 if (FS.isLeftJustified())
308 void FormatStringConverter::emitSign(const PrintfSpecifier &FS,
310 const ConversionSpecifier Spec = FS.getConversionSpecifier();
317 if (FS.hasPlusPrefix())
319 else if (FS.hasSpacePrefix())
324 void FormatStringConverter::emitAlternativeForm(const PrintfSpecifier &FS,
326 if (FS.hasAlternativeForm()) {
327 switch (FS.getConversionSpecifier().getKind()) {
348 void FormatStringConverter::emitFieldWidth(const PrintfSpecifier &FS,
351 const OptionalAmount FieldWidth = FS.getFieldWidth();
374 void FormatStringConverter::emitPrecision(const PrintfSpecifier &FS,
376 const OptionalAmount FieldPrecision = FS.getPrecision();
401 void FormatStringConverter::maybeRotateArguments(const PrintfSpecifier &FS) {
403 const OptionalAmount FieldWidth = FS.getFieldWidth();
404 const OptionalAmount FieldPrecision = FS.getPrecision();
414 ArgRotates.emplace_back(FS.getArgIndex() + ArgsOffset, ArgCount);
504 bool FormatStringConverter::emitType(const PrintfSpecifier &FS, const Expr *Arg,
506 ConversionSpecifier::Kind ArgKind = FS.getConversionSpecifier().getKind();
509 emitStringArgument(FS.getArgIndex() + ArgsOffset, Arg);
520 if (!emitIntegerArgument(ArgKind, Arg, FS.getArgIndex() + ArgsOffset,
528 ArgFixes.emplace_back(FS.getArgIndex() + ArgsOffset,
568 Twine(FS.getArgIndex() + ArgsOffset) +
579 bool FormatStringConverter::convertArgument(const PrintfSpecifier &FS,
583 assert(FS.consumesDataArgument());
587 if (FS.usesPositionalArg()) {
590 assert(FS.getPositionalArgIndex() > 0U);
591 StandardFormatString.append(llvm::utostr(FS.getPositionalArgIndex() - 1));
601 emitAlignment(FS, FormatSpec);
602 emitSign(FS, FormatSpec);
603 emitAlternativeForm(FS, FormatSpec);
605 if (FS.hasLeadingZeros())
608 emitFieldWidth(FS, FormatSpec);
609 emitPrecision(FS, FormatSpec);
610 maybeRotateArguments(FS);
612 if (!emitType(FS, Arg, FormatSpec))
625 bool FormatStringConverter::HandlePrintfSpecifier(const PrintfSpecifier &FS,
640 FS.getConversionSpecifier().getKind();
666 const unsigned ArgIndex = FS.getArgIndex() + ArgsOffset;
674 return convertArgument(FS, Args[ArgIndex]->IgnoreImplicitAsWritten(),