clang: lib/AST/FormatStringParsing.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_CLANG_LIB_ANALYSIS_FORMATSTRINGPARSING_H
15#define LLVM_CLANG_LIB_ANALYSIS_FORMATSTRINGPARSING_H
16
20
22
24
25template
27 T &ValueToUpdate;
28 const T &ValueToCopy;
29public:
31 : ValueToUpdate(valueToUpdate), ValueToCopy(valueToCopy) {}
32
34 ValueToUpdate = ValueToCopy;
35 }
36};
37
38namespace analyze_format_string {
39
42 unsigned &argIndex);
43
45 const char *Start, const char *&Beg,
47
50 const char *Start, const char *&Beg, const char *E,
51 unsigned *argIndex);
52
55 const char *&Beg, const char *E);
56
59 const LangOptions &LO);
60
61
62
64 const LangOptions &LO, bool IsScanf = false);
65
66
67
68
70 const char *FmtStrEnd, unsigned &Len);
71
73 T FS;
74 const char *Start;
75 bool Stop;
76public:
80 const T &fs)
81 : FS(fs), Start(start), Stop(false) {}
82
83 const char *getStart() const { return Start; }
85 bool hasValue() const { return Start != nullptr; }
91};
92
93}
94}
95
96#endif
Defines the clang::ASTContext interface.
C Language Family Type Representation.
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
UpdateOnReturn(T &valueToUpdate, const T &valueToCopy)
Definition FormatStringParsing.h:30
~UpdateOnReturn()
Definition FormatStringParsing.h:33
const T & getValue()
Definition FormatStringParsing.h:90
const T & getValue() const
Definition FormatStringParsing.h:86
SpecifierResult(const char *start, const T &fs)
Definition FormatStringParsing.h:79
bool shouldStop() const
Definition FormatStringParsing.h:84
SpecifierResult(bool stop=false)
Definition FormatStringParsing.h:77
bool hasValue() const
Definition FormatStringParsing.h:85
const char * getStart() const
Definition FormatStringParsing.h:83
bool ParseFieldWidth(FormatStringHandler &H, FormatSpecifier &CS, const char *Start, const char *&Beg, const char *E, unsigned *argIndex)
OptionalAmount ParsePositionAmount(FormatStringHandler &H, const char *Start, const char *&Beg, const char *E, PositionContext p)
OptionalAmount ParseAmount(const char *&Beg, const char *E)
OptionalAmount ParseNonPositionAmount(const char *&Beg, const char *E, unsigned &argIndex)
bool ParseLengthModifier(FormatSpecifier &FS, const char *&Beg, const char *E, const LangOptions &LO, bool IsScanf=false)
Returns true if a LengthModifier was parsed and installed in the FormatSpecifier& argument,...
bool ParseArgPosition(FormatStringHandler &H, FormatSpecifier &CS, const char *Start, const char *&Beg, const char *E)
bool ParseVectorModifier(FormatStringHandler &H, FormatSpecifier &FS, const char *&Beg, const char *E, const LangOptions &LO)
bool ParseUTF8InvalidSpecifier(const char *SpecifierBegin, const char *FmtStrEnd, unsigned &Len)
Returns true if the invalid specifier in SpecifierBegin is a UTF-8 string; check that it won't go fur...
The JSON file list parser is used to communicate input to InstallAPI.
nullptr
This class represents a compute construct, representing a 'Kind' of ‘parallel’, 'serial',...
const FunctionProtoType * T