reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

gen/tools/clang/include/clang/AST/StmtNodes.inc
 1283 STRINGLITERAL(StringLiteral, Expr)
tools/clang/include/clang/AST/Decl.h
   70 class StringLiteral;
tools/clang/include/clang/AST/Expr.h
   54   class StringLiteral;
tools/clang/include/clang/AST/Mangle.h
   36   class StringLiteral;
tools/clang/include/clang/AST/Stmt.h
   56 class StringLiteral;
tools/clang/include/clang/Sema/Sema.h
  174   class StringLiteral;
tools/clang/lib/AST/Interp/Program.h
   33 class StringLiteral;
tools/clang/lib/CodeGen/CodeGenModule.h
   67 class StringLiteral;
tools/lldb/include/lldb/Core/ClangForward.h
  105 class StringLiteral;

References

include/llvm/ADT/STLExtras.h
   75       typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  309   return cast<X>(Val);
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/TrailingObjects.h
  134     : public TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy,
  137   typedef TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy, MoreTys...>
  141     static const bool value = alignof(PrevTy) < alignof(NextTy);
  162   getTrailingObjectsImpl(const BaseTy *Obj,
  177   getTrailingObjectsImpl(BaseTy *Obj,
  179     auto *Ptr = TopTrailingObj::getTrailingObjectsImpl(
  232                             BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
  232                             BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
  233                             BaseTy, TrailingTys...> {
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  257   static const BaseTy *
  258   getTrailingObjectsImpl(const BaseTy *Obj,
  259                          TrailingObjectsBase::OverloadToken<BaseTy>) {
  263   static BaseTy *
  264   getTrailingObjectsImpl(BaseTy *Obj,
  265                          TrailingObjectsBase::OverloadToken<BaseTy>) {
  277   callNumTrailingObjects(const BaseTy *Obj,
  278                          TrailingObjectsBase::OverloadToken<BaseTy>) {
  283   static size_t callNumTrailingObjects(const BaseTy *Obj,
  284                                        TrailingObjectsBase::OverloadToken<T>) {
  345     return sizeof(BaseTy) + ParentType::additionalSizeToAllocImpl(0, Counts...);
tools/clang/include/clang/AST/ASTContext.h
  288   mutable llvm::StringMap<StringLiteral *> StringLiteralCache;
  664   template <typename NodeT> DynTypedNodeList getParents(const NodeT &Node) {
 2838   StringLiteral *getPredefinedStringLiteralFromCache(StringRef Key) const;
tools/clang/include/clang/AST/ASTTypeTraits.h
   65     return ASTNodeKind(KindToKindId<T>::Id);
  234   static DynTypedNode create(const T &Node) {
  235     return BaseConverter<T>::create(Node);
  251   const T *get() const {
  252     return BaseConverter<T>::get(NodeKind, Storage.buffer);
  259   const T &getUnchecked() const {
  260     return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  395       if (ASTNodeKind::getFromNodeKind<T>().isBaseOf(NodeKind))
  399     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  401       return *cast<T>(static_cast<const BaseT *>(
  474     : public DynCastPtrConverter<T, Stmt> {};
tools/clang/include/clang/AST/Decl.h
 3924   StringLiteral *AsmString;
 3927   FileScopeAsmDecl(DeclContext *DC, StringLiteral *asmstring,
 3935                                   StringLiteral *Str, SourceLocation AsmLoc,
 3947   const StringLiteral *getAsmString() const { return AsmString; }
 3948   StringLiteral *getAsmString() { return AsmString; }
 3949   void setAsmString(StringLiteral *Asm) { AsmString = Asm; }
tools/clang/include/clang/AST/DeclCXX.h
 3671   StringLiteral *Message;
 3675                    Expr *AssertExpr, StringLiteral *Message,
 3688                                   Expr *AssertExpr, StringLiteral *Message,
 3695   StringLiteral *getMessage() { return Message; }
 3696   const StringLiteral *getMessage() const { return Message; }
tools/clang/include/clang/AST/Expr.h
 1688       private llvm::TrailingObjects<StringLiteral, unsigned, SourceLocation,
 1752   static StringLiteral *Create(const ASTContext &Ctx, StringRef Str,
 1758   static StringLiteral *Create(const ASTContext &Ctx, StringRef Str,
 1765   static StringLiteral *CreateEmpty(const ASTContext &Ctx,
 1904                  StringLiteral *SL);
 1911   void setFunctionName(StringLiteral *SL) {
 1920                                 QualType FNTy, IdentKind IK, StringLiteral *SL);
 1933   StringLiteral *getFunctionName() {
 1939   const StringLiteral *getFunctionName() const {
tools/clang/include/clang/AST/ExprObjC.h
   55   ObjCStringLiteral(StringLiteral *SL, QualType T, SourceLocation L)
   62   StringLiteral *getString() { return cast<StringLiteral>(String); }
   62   StringLiteral *getString() { return cast<StringLiteral>(String); }
   63   const StringLiteral *getString() const { return cast<StringLiteral>(String); }
   63   const StringLiteral *getString() const { return cast<StringLiteral>(String); }
   64   void setString(StringLiteral *S) { String = S; }
tools/clang/include/clang/AST/JSONNodeDumper.h
  299   void VisitStringLiteral(const StringLiteral *SL);
tools/clang/include/clang/AST/Mangle.h
   96   virtual bool shouldMangleStringLiteral(const StringLiteral *SL) = 0;
  116   virtual void mangleStringLiteral(const StringLiteral *SL, raw_ostream &) = 0;
tools/clang/include/clang/AST/Stmt.h
 2866   StringLiteral *AsmStr;
 2869   StringLiteral **Constraints = nullptr;
 2870   StringLiteral **Clobbers = nullptr;
 2877              IdentifierInfo **names, StringLiteral **constraints, Expr **exprs,
 2878              StringLiteral *asmstr, unsigned numclobbers,
 2879              StringLiteral **clobbers, unsigned numlabels,
 2890   const StringLiteral *getAsmString() const { return AsmStr; }
 2891   StringLiteral *getAsmString() { return AsmStr; }
 2892   void setAsmString(StringLiteral *E) { AsmStr = E; }
 2963   const StringLiteral *getOutputConstraintLiteral(unsigned i) const {
 2966   StringLiteral *getOutputConstraintLiteral(unsigned i) {
 2991   const StringLiteral *getInputConstraintLiteral(unsigned i) const {
 2994   StringLiteral *getInputConstraintLiteral(unsigned i) {
 3053                                       StringLiteral **Constraints,
 3058                                       StringLiteral **Clobbers,
 3071   StringLiteral *getClobberStringLiteral(unsigned i) { return Clobbers[i]; }
 3072   const StringLiteral *getClobberStringLiteral(unsigned i) const {
tools/clang/include/clang/AST/TextNodeDumper.h
  241   void VisitStringLiteral(const StringLiteral *Str);
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  110   const T *getNodeAs(StringRef ID) const {
  111     return MyBoundNodes.getNodeAs<T>(ID);
 2107 extern const internal::VariadicDynCastAllOfMatcher<Stmt, StringLiteral>
 5452   return internal::HasSizeMatcher<NodeType>::hasSize(Node, N);
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  160   const T *getNodeAs(StringRef ID) const {
  165     return It->second.get<T>();
  302   virtual bool matches(const T &Node,
  309     return matches(DynNode.getUnchecked<T>(), Finder, Builder);
  345   DynTypedMatcher(MatcherInterface<T> *Implementation)
  346       : SupportedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()),
  436     return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  445   template <typename T> Matcher<T> convertTo() const {
  447     return unconditionalConvertTo<T>();
  479 class WrapperMatcherInterface : public MatcherInterface<T> {
  499   explicit Matcher(MatcherInterface<T> *Implementation)
  520             std::is_same<T, QualType>::value &&
  529     static_assert(std::is_base_of<To, T>::value, "Invalid dynCast call.");
  534   bool matches(const T &Node,
  581     return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
 1026   bool matchesAncestorOf(const T &Node,
 1030     static_assert(std::is_base_of<Decl, T>::value ||
 1031                       std::is_base_of<NestedNameSpecifierLoc, T>::value ||
 1032                       std::is_base_of<Stmt, T>::value ||
 1033                       std::is_base_of<TypeLoc, T>::value,
 1067   using head = T1;
 1073   using tail = TypeList<Ts...>;
 1084       std::is_base_of<typename AnyTypeList::head, T>::value ||
 1085       TypeListContainsSuperOf<typename AnyTypeList::tail, T>::value;
 1146     template <typename To> operator Matcher<To>() const {
 1202   operator Matcher<T>() const {
 1203     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
 1243   operator Matcher<T>() const {
 1245                ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
 1246         .template unconditionalConvertTo<T>();
 1255 class BindableMatcher : public Matcher<T> {
 1257   explicit BindableMatcher(const Matcher<T> &M) : Matcher<T>(M) {}
 1258   explicit BindableMatcher(MatcherInterface<T> *Implementation)
 1265   Matcher<T> bind(StringRef ID) const {
 1335   template <typename T> operator Matcher<T>() const {
 1337                Op, ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1338                getMatchers<T>(std::index_sequence_for<Ps...>()))
 1339         .template unconditionalConvertTo<T>();
 1370 inline Matcher<T> DynTypedMatcher::unconditionalConvertTo() const {
 1376 BindableMatcher<T> makeAllOfComposite(
 1377     ArrayRef<const Matcher<T> *> InnerMatchers) {
 1388   using PI = llvm::pointee_iterator<const Matcher<T> *const *>;
 1395           ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1397           .template unconditionalConvertTo<T>());
 1408     ArrayRef<const Matcher<InnerT> *> InnerMatchers) {
 1438 class HasParentMatcher : public WrapperMatcherInterface<T> {
 1446   bool matches(const T &Node, ASTMatchFinder *Finder,
 1557     : public VariadicFunction<BindableMatcher<SourceT>, Matcher<TargetT>,
 1558                               makeDynCastAllOfComposite<SourceT, TargetT>> {
 1779   static bool hasSize(const Ty &Node, unsigned int N) {
 1786     const StringLiteral &Node, unsigned int N) {
tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h
  199   ast_matchers::internal::Matcher<T> getTypedMatcher() const {
  202         ->template convertTo<T>();
  227       : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
  228   typedef ast_matchers::internal::Matcher<T> MatcherT;
  232     return DynTypedMatcher(Matcher.convertTo<T>());
tools/clang/include/clang/Sema/Sema.h
  439              StringLiteral* Name);
  531   PragmaStack<StringLiteral *> DataSegStack;
  532   PragmaStack<StringLiteral *> BSSSegStack;
  533   PragmaStack<StringLiteral *> ConstSegStack;
  534   PragmaStack<StringLiteral *> CodeSegStack;
  553   StringLiteral *CurInitSeg;
 6149   ExprResult BuildObjCStringLiteral(SourceLocation AtLoc, StringLiteral *S);
 6402                                      StringLiteral *AssertMessageExpr,
 8977                         StringLiteral *SegmentName,
 8982                             int SectionFlags, StringLiteral *SegmentName);
 8986                             StringLiteral *SegmentName);
11229   SourceLocation getLocationOfStringLiteralByte(const StringLiteral *SL,
11344   bool FormatStringHasSArg(const StringLiteral *FExpr);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
  804   const StringLiteral *Str;
  806   StringRegion(const StringLiteral *str, const GlobalInternalSpaceRegion *sreg)
  812                             const StringLiteral *Str,
  816   const StringLiteral *getStringLiteral() const { return Str; }
 1319   const StringRegion *getStringRegion(const StringLiteral *Str);
tools/clang/include/clang/Tooling/FixIt.h
   43 template <typename T> CharSourceRange getSourceRange(const T &Node) {
   50 StringRef getText(const T &Node, const ASTContext &Context) {
tools/clang/lib/AST/ASTContext.cpp
10356 StringLiteral *
10358   StringLiteral *&Result = StringLiteralCache[Key];
10360     Result = StringLiteral::Create(
10361         *this, Key, StringLiteral::Ascii,
tools/clang/lib/AST/ASTImporter.cpp
  162     Expected<T *> import(T *From) {
  162     Expected<T *> import(T *From) {
  166       return cast_or_null<T>(*ToOrErr);
  170     Expected<T *> import(const T *From) {
  170     Expected<T *> import(const T *From) {
  557     ExpectedStmt VisitStringLiteral(StringLiteral *E);
 2159   StringLiteral *ToMessage;
 5664   SmallVector<StringLiteral *, 4> Clobbers;
 5673   SmallVector<StringLiteral *, 4> Constraints;
 6243   StringLiteral *ToFunctionName;
 6394 ExpectedStmt ASTNodeImporter::VisitStringLiteral(StringLiteral *E) {
 6404   return StringLiteral::Create(
tools/clang/lib/AST/Decl.cpp
 4803                                            StringLiteral *Str,
tools/clang/lib/AST/DeclCXX.cpp
 2974                                            StringLiteral *Message,
tools/clang/lib/AST/DeclPrinter.cpp
  913   if (StringLiteral *SL = D->getMessage()) {
tools/clang/lib/AST/Expr.cpp
  610                                StringLiteral *SL)
  632                                        StringLiteral *SL) {
 1081 StringLiteral *StringLiteral::Create(const ASTContext &Ctx, StringRef Str,
 1087                            alignof(StringLiteral));
 1089       StringLiteral(Ctx, Str, Kind, Pascal, Ty, Loc, NumConcatenated);
 1092 StringLiteral *StringLiteral::CreateEmpty(const ASTContext &Ctx,
 1098                            alignof(StringLiteral));
 1100       StringLiteral(EmptyShell(), NumConcatenated, Length, CharByteWidth);
 2192     StringLiteral *Res = Ctx.getPredefinedStringLiteralFromCache(Tmp);
 2283   return isa<StringLiteral>(Init) || isa<ObjCEncodeExpr>(Init);
tools/clang/lib/AST/ExprConstant.cpp
 2944   const StringLiteral *S = cast<StringLiteral>(Lit);
 2944   const StringLiteral *S = cast<StringLiteral>(Lit);
 2962 static void expandStringLiteral(EvalInfo &Info, const StringLiteral *S,
 3753     } else if (isa<StringLiteral>(Base) || isa<PredefinedExpr>(Base)) {
 7328   bool VisitStringLiteral(const StringLiteral *E) { return Success(E); }
 9445     bool VisitStringLiteral(const StringLiteral *E,
 9494     auto *SL = dyn_cast<StringLiteral>(E->getInit(0)->IgnoreParens());
10112     if (!isa<StringLiteral>(E))
10714     if (const StringLiteral *S = dyn_cast_or_null<StringLiteral>(
10714     if (const StringLiteral *S = dyn_cast_or_null<StringLiteral>(
12413   const StringLiteral *S = dyn_cast<StringLiteral>(Arg->IgnoreParenCasts());
12413   const StringLiteral *S = dyn_cast<StringLiteral>(Arg->IgnoreParenCasts());
tools/clang/lib/AST/Interp/Program.cpp
   21 unsigned Program::createGlobalString(const StringLiteral *S) {
tools/clang/lib/AST/Interp/Program.h
   48   unsigned createGlobalString(const StringLiteral *S);
tools/clang/lib/AST/ItaniumMangle.cpp
  134   bool shouldMangleStringLiteral(const StringLiteral *) override {
  171   void mangleStringLiteral(const StringLiteral *, raw_ostream &) override;
 5148 void ItaniumMangleContextImpl::mangleStringLiteral(const StringLiteral *, raw_ostream &) {
tools/clang/lib/AST/JSONNodeDumper.cpp
 1406 void JSONNodeDumper::VisitStringLiteral(const StringLiteral *SL) {
tools/clang/lib/AST/MicrosoftMangle.cpp
  137   bool shouldMangleStringLiteral(const StringLiteral *SL) override;
  196   void mangleStringLiteral(const StringLiteral *SL, raw_ostream &Out) override;
  479 MicrosoftMangleContextImpl::shouldMangleStringLiteral(const StringLiteral *SL) {
 3418 void MicrosoftMangleContextImpl::mangleStringLiteral(const StringLiteral *SL,
tools/clang/lib/AST/OSLog.cpp
  203   const StringLiteral *Lit = cast<StringLiteral>(StringArg->IgnoreParenCasts());
  203   const StringLiteral *Lit = cast<StringLiteral>(StringArg->IgnoreParenCasts());
tools/clang/lib/AST/Stmt.cpp
  474                                                 StringLiteral **Constraints,
  479                                                 StringLiteral **Clobbers,
  499   this->Constraints = new (C) StringLiteral*[NumConstraints];
  503   this->Clobbers = new (C) StringLiteral*[NumClobbers];
  756                        StringLiteral **constraints, Expr **exprs,
  757                        StringLiteral *asmstr, unsigned numclobbers,
  758                        StringLiteral **clobbers, unsigned numlabels,
  772   Constraints = new (C) StringLiteral*[NumConstraints];
  775   Clobbers = new (C) StringLiteral*[NumClobbers];
tools/clang/lib/AST/StmtPrinter.cpp
 1195 void StmtPrinter::VisitStringLiteral(StringLiteral *Str) {
 1783     OS << cast<StringLiteral>(Node->getArg(0)->IgnoreImpCasts())->getString();
tools/clang/lib/AST/StmtProfile.cpp
 1083 void StmtProfiler::VisitStringLiteral(const StringLiteral *S) {
tools/clang/lib/AST/TextNodeDumper.cpp
  782 void TextNodeDumper::VisitStringLiteral(const StringLiteral *Str) {
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  717 const internal::VariadicDynCastAllOfMatcher<Stmt, StringLiteral> stringLiteral;
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h
   75     return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
   78   static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
   79     return Value.getMatcher().getTypedMatcher<T>();
   83     return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  466       ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT> Func,
  469         DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
  778     ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT>
tools/clang/lib/Analysis/ReachableCode.cpp
   42   return isa<IntegerLiteral>(Ex) || isa<StringLiteral>(Ex) ||
tools/clang/lib/Analysis/ThreadSafetyCommon.cpp
   46       ret += cast<StringLiteral>(CE)->getString();
  156   if (const auto* SLit = dyn_cast<StringLiteral>(AttrExp)) {
  156   if (const auto* SLit = dyn_cast<StringLiteral>(AttrExp)) {
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGBuiltin.cpp
 3114       const auto *Str = cast<StringLiteral>(Arg->IgnoreParenCasts());
 3114       const auto *Str = cast<StringLiteral>(Arg->IgnoreParenCasts());
 3141     StringRef Str = cast<StringLiteral>(AnnotationStrExpr)->getString();
 5926     SysReg = cast<clang::StringLiteral>(SysRegStrExpr)->getString();
10006   StringRef CPUStr = cast<clang::StringLiteral>(CPUExpr)->getString();
10069   StringRef FeatureStr = cast<StringLiteral>(FeatureExpr)->getString();
tools/clang/lib/CodeGen/CGExpr.cpp
 1285     return EmitStringLiteralLValue(cast<StringLiteral>(E));
 2745 LValue CodeGenFunction::EmitStringLiteralLValue(const StringLiteral *E) {
tools/clang/lib/CodeGen/CGExprAgg.cpp
  135   void VisitStringLiteral(StringLiteral *E) { EmitAggLoadOfLValue(E); }
tools/clang/lib/CodeGen/CGExprConstant.cpp
 1299   llvm::Constant *VisitStringLiteral(StringLiteral *E, QualType T) {
 1762   ConstantLValue VisitStringLiteral(const StringLiteral *E);
 1915 ConstantLValueEmitter::VisitStringLiteral(const StringLiteral *E) {
 1924 static ConstantLValue emitConstantObjCStringLiteral(const StringLiteral *S,
 1940   auto *SL = cast<StringLiteral>(E->getSubExpr()->IgnoreParenCasts());
 1965   auto literal = cast<StringLiteral>(E->getArg(0)->IgnoreParenCasts());
tools/clang/lib/CodeGen/CGObjCGNU.cpp
  576   ConstantAddress GenerateConstantString(const StringLiteral *) override;
  967   ConstantAddress GenerateConstantString(const StringLiteral *SL) override {
 2451 ConstantAddress CGObjCGNU::GenerateConstantString(const StringLiteral *SL) {
tools/clang/lib/CodeGen/CGObjCMac.cpp
 1089   ConstantAddress GenerateConstantString(const StringLiteral *SL) override;
 1090   ConstantAddress GenerateConstantNSString(const StringLiteral *SL);
 1934 CGObjCCommonMac::GenerateConstantString(const StringLiteral *SL) {
 1942                        const StringLiteral *Literal, unsigned &StringLength) {
 1982 CGObjCCommonMac::GenerateConstantNSString(const StringLiteral *Literal) {
tools/clang/lib/CodeGen/CGObjCRuntime.h
  146   virtual ConstantAddress GenerateConstantString(const StringLiteral *) = 0;
tools/clang/lib/CodeGen/CGStmt.cpp
 1885 static llvm::MDNode *getAsmSrcLocInfo(const StringLiteral *Str,
tools/clang/lib/CodeGen/CodeGenFunction.h
 3501   LValue EmitStringLiteralLValue(const StringLiteral *E);
tools/clang/lib/CodeGen/CodeGenModule.cpp
 4583                          const StringLiteral *Literal, bool TargetIsLSB,
 4616 CodeGenModule::GetAddrOfConstantCFString(const StringLiteral *Literal) {
 4845 CodeGenModule::GetConstantArrayFromStringLiteral(const StringLiteral *E) {
 4910 CodeGenModule::GetAddrOfConstantStringFromLiteral(const StringLiteral *S,
tools/clang/lib/CodeGen/CodeGenModule.h
  913   ConstantAddress GetAddrOfConstantCFString(const StringLiteral *Literal);
  918   ConstantAddress GetAddrOfConstantString(const StringLiteral *Literal);
  921   llvm::Constant *GetConstantArrayFromStringLiteral(const StringLiteral *E);
  925   GetAddrOfConstantStringFromLiteral(const StringLiteral *S,
tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp
 1135   if (const StringLiteral *
 1136         StrE = dyn_cast<StringLiteral>(OrigArg->IgnoreParens())) {
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  598     StringLiteral *getStringLiteral(StringRef Str) {
  602       return StringLiteral::Create(*Context, Str, StringLiteral::Ascii,
  602       return StringLiteral::Create(*Context, Str, StringLiteral::Ascii,
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
  498     StringLiteral *getStringLiteral(StringRef Str) {
  502       return StringLiteral::Create(*Context, Str, StringLiteral::Ascii,
  502       return StringLiteral::Create(*Context, Str, StringLiteral::Ascii,
tools/clang/lib/Parse/ParseDecl.cpp
 1110       if (StringLiteral *MessageStringLiteral =
 1111               cast_or_null<StringLiteral>(MessageExpr.get())) {
tools/clang/lib/Parse/ParseDeclCXX.cpp
 4276     StringLiteral *UuidString =
 4277         cast<StringLiteral>(Actions.ActOnStringLiteral(Toks, nullptr).get());
tools/clang/lib/Parse/ParsePragma.cpp
  790   StringLiteral *SegmentName = cast<StringLiteral>(StringResult.get());
  790   StringLiteral *SegmentName = cast<StringLiteral>(StringResult.get());
  899   StringLiteral *SegmentName = nullptr;
  912     SegmentName = cast<StringLiteral>(StringResult.get());
  951   StringLiteral *SegmentName = nullptr;
  969           cast<StringLiteral>(Actions.ActOnStringLiteral(Toks, nullptr).get());
  976     SegmentName = cast<StringLiteral>(StringResult.get());
tools/clang/lib/Parse/ParseStmtAsm.cpp
  734     const auto *SL = cast<StringLiteral>(AsmString.get());
  734     const auto *SL = cast<StringLiteral>(AsmString.get());
tools/clang/lib/Parse/Parser.cpp
  808       const auto *SL = cast<StringLiteral>(Result.get());
  808       const auto *SL = cast<StringLiteral>(Result.get());
 1479     const auto *SL = cast<StringLiteral>(AsmString.get());
 1479     const auto *SL = cast<StringLiteral>(AsmString.get());
tools/clang/lib/Sema/SemaAttr.cpp
  515                             StringLiteral *SegmentName,
  517   PragmaStack<StringLiteral *> *Stack =
  540                                 int SectionFlags, StringLiteral *SegmentName) {
  545                                 StringLiteral *SegmentName) {
tools/clang/lib/Sema/SemaChecking.cpp
  102 SourceLocation Sema::getLocationOfStringLiteralByte(const StringLiteral *SL,
  145   StringLiteral *Literal = dyn_cast<StringLiteral>(StrArg);
  145   StringLiteral *Literal = dyn_cast<StringLiteral>(StrArg);
  167     auto *Literal = dyn_cast<StringLiteral>(Arg->IgnoreParenCasts());
  167     auto *Literal = dyn_cast<StringLiteral>(Arg->IgnoreParenCasts());
 3372   if (!isa<StringLiteral>(Arg->IgnoreParenImpCasts()))
 3378       cast<StringLiteral>(Arg->IgnoreParenImpCasts())->getString();
 3392   if (!isa<StringLiteral>(Arg->IgnoreParenImpCasts()))
 3398       cast<StringLiteral>(Arg->IgnoreParenImpCasts())->getString();
 4180   const StringLiteral *FormatString;
 4185     FormatString = dyn_cast<StringLiteral>(FormatExpr->IgnoreParenImpCasts());
 5463   StringLiteral *Literal = dyn_cast<StringLiteral>(Arg);
 5463   StringLiteral *Literal = dyn_cast<StringLiteral>(Arg);
 5493   auto *Literal = dyn_cast<StringLiteral>(Arg);
 5493   auto *Literal = dyn_cast<StringLiteral>(Arg);
 6522   if (!isa<StringLiteral>(Arg->IgnoreParenImpCasts()))
 6527   StringRef Reg = cast<StringLiteral>(Arg->IgnoreParenImpCasts())->getString();
 6731   const StringLiteral *FExpr;
 6735   FormatStringLiteral(const StringLiteral *fexpr, int64_t Offset = 0)
 6749   StringLiteral::StringKind getKind() const { return FExpr->getKind(); }
 7024     const StringLiteral *StrE = nullptr;
 7029       StrE = cast<StringLiteral>(E);
 8844 bool Sema::FormatStringHasSArg(const StringLiteral *FExpr) {
11566     if (isa<StringLiteral>(E))
12125         isa<StringLiteral>(ChildExpr->IgnoreParenImpCasts()))
12134     if (!IsLogicalAndOperator || !isa<StringLiteral>(SubExpr))
12138     if (!IsLogicalAndOperator || !isa<StringLiteral>(SubExpr))
tools/clang/lib/Sema/SemaDecl.cpp
 6979     StringLiteral *SE = cast<StringLiteral>(E);
 6979     StringLiteral *SE = cast<StringLiteral>(E);
 8923     StringLiteral *SE = cast<StringLiteral>(E);
 8923     StringLiteral *SE = cast<StringLiteral>(E);
12435     PragmaStack<StringLiteral *> *Stack = nullptr;
17586   StringLiteral *AsmString = cast<StringLiteral>(expr);
17586   StringLiteral *AsmString = cast<StringLiteral>(expr);
tools/clang/lib/Sema/SemaDeclAttr.cpp
  385   const auto *Literal = dyn_cast<StringLiteral>(ArgExpr->IgnoreParenCasts());
  385   const auto *Literal = dyn_cast<StringLiteral>(ArgExpr->IgnoreParenCasts());
  662     if (const auto *StrLit = dyn_cast<StringLiteral>(ArgExp)) {
  662     if (const auto *StrLit = dyn_cast<StringLiteral>(ArgExp)) {
 2370   if (const auto *SE = dyn_cast_or_null<StringLiteral>(AL.getMessageExpr()))
 2370   if (const auto *SE = dyn_cast_or_null<StringLiteral>(AL.getMessageExpr()))
 2373   if (const auto *SE = dyn_cast_or_null<StringLiteral>(AL.getReplacementExpr()))
 2373   if (const auto *SE = dyn_cast_or_null<StringLiteral>(AL.getReplacementExpr()))
 2465   if (const auto *SE = dyn_cast_or_null<StringLiteral>(AL.getArgAsExpr(0)))
 2465   if (const auto *SE = dyn_cast_or_null<StringLiteral>(AL.getArgAsExpr(0)))
 2468   if (const auto *SE = dyn_cast_or_null<StringLiteral>(AL.getArgAsExpr(1)))
 2468   if (const auto *SE = dyn_cast_or_null<StringLiteral>(AL.getArgAsExpr(1)))
tools/clang/lib/Sema/SemaDeclCXX.cpp
14195   StringLiteral *Lit = cast<StringLiteral>(LangStr);
14195   StringLiteral *Lit = cast<StringLiteral>(LangStr);
14440   StringLiteral *AssertMessage =
14441       AssertMessageExpr ? cast<StringLiteral>(AssertMessageExpr) : nullptr;
14452                                          StringLiteral *AssertMessage,
tools/clang/lib/Sema/SemaExpr.cpp
 1648   StringLiteral::StringKind Kind = StringLiteral::Ascii;
 1648   StringLiteral::StringKind Kind = StringLiteral::Ascii;
 1651     Kind = StringLiteral::Wide;
 1655     Kind = StringLiteral::UTF8;
 1658     Kind = StringLiteral::UTF16;
 1661     Kind = StringLiteral::UTF32;
 1669       !getLangOpts().Char8 && Kind == StringLiteral::UTF8) {
 1695   StringLiteral *Lit = StringLiteral::Create(Context, Literal.GetString(),
 1695   StringLiteral *Lit = StringLiteral::Create(Context, Literal.GetString(),
 3217   StringLiteral *SL = nullptr;
 3236       SL = StringLiteral::Create(Context, RawChars, StringLiteral::Wide,
 3236       SL = StringLiteral::Create(Context, RawChars, StringLiteral::Wide,
 3243       SL = StringLiteral::Create(Context, Str, StringLiteral::Ascii,
 3243       SL = StringLiteral::Create(Context, Str, StringLiteral::Ascii,
 3482       Expr *Lit = StringLiteral::Create(
 3483           Context, StringRef(TokSpelling.data(), Length), StringLiteral::Ascii,
 9492   StringLiteral* StrExpr = dyn_cast<StringLiteral>(LHSExpr->IgnoreImpCasts());
 9492   StringLiteral* StrExpr = dyn_cast<StringLiteral>(LHSExpr->IgnoreImpCasts());
 9495     StrExpr = dyn_cast<StringLiteral>(RHSExpr->IgnoreImpCasts());
10398   if ((isa<StringLiteral>(LHSStripped) || isa<ObjCEncodeExpr>(LHSStripped)) &&
10403   } else if ((isa<StringLiteral>(RHSStripped) ||
14601   StringLiteral *SL = dyn_cast<StringLiteral>(SrcExpr);
14601   StringLiteral *SL = dyn_cast<StringLiteral>(SrcExpr);
tools/clang/lib/Sema/SemaExprCXX.cpp
 3699   if (StringLiteral *StrLit = dyn_cast<StringLiteral>(From->IgnoreParens()))
 3699   if (StringLiteral *StrLit = dyn_cast<StringLiteral>(From->IgnoreParens()))
 3707             case StringLiteral::UTF8:
 3708             case StringLiteral::UTF16:
 3709             case StringLiteral::UTF32:
 3712             case StringLiteral::Ascii:
 3715             case StringLiteral::Wide:
tools/clang/lib/Sema/SemaExprObjC.cpp
   40   StringLiteral *S = cast<StringLiteral>(Strings[0]);
   40   StringLiteral *S = cast<StringLiteral>(Strings[0]);
   49       S = cast<StringLiteral>(E);
   72     S = StringLiteral::Create(Context, StrBuf, StringLiteral::Ascii,
   72     S = StringLiteral::Create(Context, StrBuf, StringLiteral::Ascii,
   80 ExprResult Sema::BuildObjCStringLiteral(SourceLocation AtLoc, StringLiteral *S){
  448     else if (StringLiteral *String = dyn_cast<StringLiteral>(OrigElement)) {
  448     else if (StringLiteral *String = dyn_cast<StringLiteral>(OrigElement)) {
  472       if (StringLiteral *SL = getString->getString()) {
  532           if (auto *SL =
  533                   dyn_cast<StringLiteral>(CE->getSubExpr()->IgnoreParens())) {
 2408     StringLiteral *FormatString = OSL->getString();
tools/clang/lib/Sema/SemaInit.cpp
   75   StringLiteral *SL = dyn_cast<StringLiteral>(Init);
   75   StringLiteral *SL = dyn_cast<StringLiteral>(Init);
   83   case StringLiteral::UTF8:
   88   case StringLiteral::Ascii:
   92       return (SL->getKind() == StringLiteral::UTF8 &&
  106   case StringLiteral::UTF16:
  114   case StringLiteral::UTF32:
  122   case StringLiteral::Wide:
  149     if (isa<StringLiteral>(E) || isa<ObjCEncodeExpr>(E)) {
  213     if (StringLiteral *SL = dyn_cast<StringLiteral>(Str->IgnoreParens())) {
  213     if (StringLiteral *SL = dyn_cast<StringLiteral>(Str->IgnoreParens())) {
 2684           !isa<StringLiteral>(DIE->getInit())) {
 2870     if (StringLiteral *SL = dyn_cast<StringLiteral>(SubExpr)) {
 2870     if (StringLiteral *SL = dyn_cast<StringLiteral>(SubExpr)) {
tools/clang/lib/Sema/SemaPseudoObject.cpp
 1071     if (isa<StringLiteral>(IndexExpr))
tools/clang/lib/Sema/SemaStmtAsm.cpp
  210 getClobberConflictLocation(MultiExprArg Exprs, StringLiteral **Constraints,
  211                            StringLiteral **Clobbers, int NumClobbers,
  248   StringLiteral **Constraints =
  250   StringLiteral *AsmString = cast<StringLiteral>(asmString);
  250   StringLiteral *AsmString = cast<StringLiteral>(asmString);
  251   StringLiteral **Clobbers = reinterpret_cast<StringLiteral**>(clobbers.data());
  259     StringLiteral *Literal = Constraints[i];
  342     StringLiteral *Literal = Constraints[i];
  439     StringLiteral *Literal = Clobbers[i];
  496     StringLiteral *Literal = Constraints[ConstraintIdx];
tools/clang/lib/Sema/SemaType.cpp
 6819       Str = cast<StringLiteral>(Attr.getArgAsExpr(0))->getString();
tools/clang/lib/Serialization/ASTReader.cpp
10803         StringLiteral *FirstStr = FirstSA->getMessage();
10804         StringLiteral *SecondStr = SecondSA->getMessage();
tools/clang/lib/Serialization/ASTReaderDecl.cpp
 1480   AD->setAsmString(cast<StringLiteral>(Record.readExpr()));
 2341   D->Message = cast_or_null<StringLiteral>(Record.readExpr());
tools/clang/lib/Serialization/ASTReaderStmt.cpp
  375   S->setAsmString(cast_or_null<StringLiteral>(Record.readSubStmt()));
  384   SmallVector<StringLiteral*, 16> Constraints;
  388     Constraints.push_back(cast_or_null<StringLiteral>(Record.readSubStmt()));
  393   SmallVector<StringLiteral*, 16> Clobbers;
  395     Clobbers.push_back(cast_or_null<StringLiteral>(Record.readSubStmt()));
  558     E->setFunctionName(cast<StringLiteral>(Record.readSubExpr()));
  617 void ASTStmtReader::VisitStringLiteral(StringLiteral *E) {
 1163   E->setString(cast<StringLiteral>(Record.readSubStmt()));
 2631       S = StringLiteral::CreateEmpty(
tools/clang/lib/Serialization/ASTWriterStmt.cpp
  553 void ASTStmtWriter::VisitStringLiteral(StringLiteral *E) {
tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
  179   const StringLiteral *getCStringLiteral(CheckerContext &C,
  828     const StringLiteral *strLit = cast<StringRegion>(MR)->getStringLiteral();
  866 const StringLiteral *CStringChecker::getCStringLiteral(CheckerContext &C,
 1965   const StringLiteral *s1StrLiteral = getCStringLiteral(C, state, s1, s1Val);
 1966   const StringLiteral *s2StrLiteral = getCStringLiteral(C, state, s2, s2Val);
 2291     if (!isa<StringLiteral>(Init))
tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
  594   const StringLiteral *strArg =
  595     dyn_cast<StringLiteral>(CE->getArg((unsigned)ArgSuffix.first)
  671     if (const auto *String = dyn_cast<StringLiteral>(Source)) {
  671     if (const auto *String = dyn_cast<StringLiteral>(Source)) {
  768         dyn_cast<StringLiteral>(CE->getArg(ArgIndex)->IgnoreParenImpCasts());
tools/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
  104       const StringLiteral* Str = StrRegion->getStringLiteral();
tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
  328   const auto *E = dyn_cast<StringLiteral>(CE->getArg(1)->IgnoreParenCasts());
  328   const auto *E = dyn_cast<StringLiteral>(CE->getArg(1)->IgnoreParenCasts());
  348     if (const StringLiteral *const *SLPtr = State->get<DenotedSymbols>(S)) {
  349       const StringLiteral *SL = *SLPtr;
tools/clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
  480     const StringLiteral *StringLit1 = cast<StringLiteral>(Stmt1);
  480     const StringLiteral *StringLit1 = cast<StringLiteral>(Stmt1);
  481     const StringLiteral *StringLit2 = cast<StringLiteral>(Stmt2);
  481     const StringLiteral *StringLit2 = cast<StringLiteral>(Stmt2);
tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
  250                                  const StringLiteral *Str,
  804 const StringRegion *MemRegionManager::getStringRegion(const StringLiteral *Str){
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
 1688     const StringLiteral *Str = StrR->getStringLiteral();
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
  304     const auto *SL = cast<StringLiteral>(E);
  304     const auto *SL = cast<StringLiteral>(E);
tools/clang/lib/Tooling/ASTDiff/ASTDiff.cpp
  465   if (auto *String = dyn_cast<StringLiteral>(S))
tools/clang/lib/Tooling/Refactoring/ASTSelection.cpp
  270   if (isa<StringLiteral>(S) && isa<ObjCStringLiteral>(Parent))
tools/clang/tools/extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp
   24 llvm::Optional<std::string> makeCharacterLiteral(const StringLiteral *Literal,
  103   const auto *Literal = Result.Nodes.getNodeAs<StringLiteral>("Literal");
  103   const auto *Literal = Result.Nodes.getNodeAs<StringLiteral>("Literal");
tools/clang/tools/extra/clang-tidy/android/CloexecCheck.cpp
   34   StringRef SR = cast<StringLiteral>(Arg->IgnoreParenCasts())->getString();
   89   const auto *ModeStr = dyn_cast<StringLiteral>(ModeArg->IgnoreParenCasts());
   89   const auto *ModeStr = dyn_cast<StringLiteral>(ModeArg->IgnoreParenCasts());
tools/clang/tools/extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
  240          (CommentStringLiterals && isa<StringLiteral>(Arg)) ||
tools/clang/tools/extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
   83         if (const auto *StrSL =
   84                 dyn_cast<StringLiteral>(StrInit->IgnoreImpCasts()))
   87   if (const auto *SrcSL = dyn_cast<StringLiteral>(E))
   87   if (const auto *SrcSL = dyn_cast<StringLiteral>(E))
tools/clang/tools/extra/clang-tidy/bugprone/StringConstructorCheck.cpp
  134     const auto *Str = Result.Nodes.getNodeAs<StringLiteral>("str");
  134     const auto *Str = Result.Nodes.getNodeAs<StringLiteral>("str");
tools/clang/tools/extra/clang-tidy/bugprone/StringLiteralWithEmbeddedNulCheck.cpp
   62   if (const auto *SL = Result.Nodes.getNodeAs<StringLiteral>("strlit")) {
   62   if (const auto *SL = Result.Nodes.getNodeAs<StringLiteral>("strlit")) {
   76   if (const auto *SL = Result.Nodes.getNodeAs<StringLiteral>("truncated")) {
   76   if (const auto *SL = Result.Nodes.getNodeAs<StringLiteral>("truncated")) {
tools/clang/tools/extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp
   22                                      const StringLiteral *Lit) {
   98   const auto *ConcatenatedLiteral =
   99       Result.Nodes.getNodeAs<StringLiteral>("str");
  111     if (const auto *Literal = dyn_cast<StringLiteral>(Child)) {
  111     if (const auto *Literal = dyn_cast<StringLiteral>(Child)) {
tools/clang/tools/extra/clang-tidy/cert/StrToNumCheck.cpp
  205       if (const auto *SL = dyn_cast<StringLiteral>(Arg)) {
  205       if (const auto *SL = dyn_cast<StringLiteral>(Arg)) {
tools/clang/tools/extra/clang-tidy/misc/RedundantExpressionCheck.cpp
  100     return cast<StringLiteral>(Left)->getBytes() ==
  101            cast<StringLiteral>(Right)->getBytes();
tools/clang/tools/extra/clang-tidy/misc/StaticAssertCheck.cpp
   86   const auto *AssertMSG = Result.Nodes.getNodeAs<StringLiteral>("assertMSG");
   86   const auto *AssertMSG = Result.Nodes.getNodeAs<StringLiteral>("assertMSG");
tools/clang/tools/extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
   79     if (isa<StringLiteral>(inner))
tools/clang/tools/extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
   44                                const StringLiteral *Literal,
   71 std::string asRawStringLiteral(const StringLiteral *Literal,
  130   const auto *Literal = Result.Nodes.getNodeAs<StringLiteral>("lit");
  130   const auto *Literal = Result.Nodes.getNodeAs<StringLiteral>("lit");
  145     const MatchFinder::MatchResult &Result, const StringLiteral *Literal,
tools/clang/tools/extra/clang-tidy/modernize/RawStringLiteralCheck.h
   37       const StringLiteral *Literal, StringRef Replacement);
tools/clang/tools/extra/clang-tidy/modernize/UnaryStaticAssertCheck.cpp
   29   const StringLiteral *AssertMessage = MatchedDecl->getMessage();
tools/clang/tools/extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
  171     return cast<StringLiteral>(E1)->getString() ==
  172            cast<StringLiteral>(E2)->getString();
tools/clang/tools/extra/clang-tidy/performance/FasterStringFindCheck.cpp
   24 llvm::Optional<std::string> MakeCharacterLiteral(const StringLiteral *Literal) {
   85   const auto *Literal = Result.Nodes.getNodeAs<StringLiteral>("literal");
   85   const auto *Literal = Result.Nodes.getNodeAs<StringLiteral>("literal");
tools/clang/tools/extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
  171   if (isa<StringLiteral>(Expression->IgnoreCasts())) {
tools/clang/tools/extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp
   39   if (!isa<StringLiteral>(RHSE) && !isa<DeclRefExpr>(RHSE) &&
tools/clang/tools/extra/clangd/refactor/tweaks/RawStringLiteral.cpp
   47   const clang::StringLiteral *Str = nullptr;
   52 static bool isNormalString(const StringLiteral &Str, SourceLocation Cursor,
   84   Str = dyn_cast_or_null<StringLiteral>(N->ASTNode.get<Stmt>());
tools/clang/tools/libclang/CIndex.cpp
 1274   if (StringLiteral *Message = D->getMessage())
 3701 static StringLiteral* getCFSTR_value(CallExpr *callExpr) {
 3706   StringLiteral *S = nullptr;
 3846       const StringLiteral *StrE = nullptr;
 3854         StrE = cast<StringLiteral>(I->getSubExprAsWritten());
 3867     const StringLiteral *StrE = nullptr;
 3875       StrE = cast<StringLiteral>(expr);
 3894       StringLiteral *S = getCFSTR_value(callExpr);
 3920       StringLiteral *S = getCFSTR_value(callExpr);
 4578       const StringLiteral *SLit;
 4582         SLit = cast<StringLiteral>(E);
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  326     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
  354     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  567     : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  631     : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  798       typedef decltype(__test<_Tp>(0)) type;
  811                remove_all_extents<_Tp>::type>::type
  825     : public __is_destructible_safe<_Tp>::type
 1447     : public __and_<is_destructible<_Tp>, integral_constant<bool,
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1580     { typedef _Tp const     type; };
 1629     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1955     { typedef _Tp     type; };
 1999     { typedef typename remove_reference<_Tp>::type*     type; };
 2003     : public __add_pointer_helper<_Tp>