Lines Matching defs:FExpr
5594 const StringLiteral *FExpr;
5599 : FExpr(fexpr), Offset(Offset) {}
5602 return FExpr->getString().drop_front(Offset);
5606 return FExpr->getByteLength() - getCharByteWidth() * Offset;
5609 unsigned getLength() const { return FExpr->getLength() - Offset; }
5610 unsigned getCharByteWidth() const { return FExpr->getCharByteWidth(); }
5612 StringLiteralKind getKind() const { return FExpr->getKind(); }
5614 QualType getType() const { return FExpr->getType(); }
5616 bool isAscii() const { return FExpr->isOrdinary(); }
5617 bool isWide() const { return FExpr->isWide(); }
5618 bool isUTF8() const { return FExpr->isUTF8(); }
5619 bool isUTF16() const { return FExpr->isUTF16(); }
5620 bool isUTF32() const { return FExpr->isUTF32(); }
5621 bool isPascal() const { return FExpr->isPascal(); }
5627 return FExpr->getLocationOfByte(ByteNo + Offset, SM, Features, Target,
5632 return FExpr->getBeginLoc().getLocWithOffset(Offset);
5635 SourceLocation getEndLoc() const LLVM_READONLY { return FExpr->getEndLoc(); }
5641 Sema &S, const FormatStringLiteral *FExpr, const Expr *OrigFormatExpr,
6147 const FormatStringLiteral *FExpr;
6174 : S(s), FExpr(fexpr), OrigFormatExpr(origFormatExpr), FSType(type),
6265 return FExpr->getLocationOfByte(x - Beg, S.getSourceManager(),
7810 Sema &S, const FormatStringLiteral *FExpr, const Expr *OrigFormatExpr,
7817 if (!FExpr->isAscii() && !FExpr->isUTF8()) {
7820 S.PDiag(diag::warn_format_string_is_wide_literal), FExpr->getBeginLoc(),
7826 StringRef StrRef = FExpr->getString();
7830 S.Context.getAsConstantArrayType(FExpr->getType());
7847 FExpr->getBeginLoc(),
7856 S.PDiag(diag::warn_empty_format_string), FExpr->getBeginLoc(),
7865 S, FExpr, OrigFormatExpr, Type, firstDataArg, numDataArgs,
7875 CheckScanfHandler H(S, FExpr, OrigFormatExpr, Type, firstDataArg,
7885 bool Sema::FormatStringHasSArg(const StringLiteral *FExpr) {
7887 StringRef StrRef = FExpr->getString();
7890 const ConstantArrayType *T = Context.getAsConstantArrayType(FExpr->getType());