clang: ArgType Class Reference (original) (raw)
#include "[clang/AST/FormatString.h](FormatString%5F8h%5Fsource.html)"
| Public Types |
|
| enum |
Kind { UnknownTy, InvalidTy, SpecificTy, ObjCPointerTy, CPointerTy, AnyCharTy, CStrTy, WCStrTy, WIntTy } |
| enum |
MatchKind { NoMatch = 0 , Match = 1 , MatchPromotion, NoMatchPromotionTypeConfusion, NoMatchPedantic, NoMatchSignedness, NoMatchTypeConfusion } |
|
How well a given conversion specifier matches its argument. More... |
Definition at line 265 of file FormatString.h.
◆ Kind
| Enumerator |
| UnknownTy |
| InvalidTy |
| SpecificTy |
| ObjCPointerTy |
| CPointerTy |
| AnyCharTy |
| CStrTy |
| WCStrTy |
| WIntTy |
Definition at line 267 of file FormatString.h.
◆ MatchKind
How well a given conversion specifier matches its argument.
| Enumerator |
|
| NoMatch |
The conversion specifier and the argument types are incompatible. For instance, "%d" and float. |
| Match |
The conversion specifier and the argument type are compatible. For instance, "%d" and int. |
| MatchPromotion |
The conversion specifier and the argument type are compatible because of default argument promotions. For instance, "%hhd" and int. |
| NoMatchPromotionTypeConfusion |
The conversion specifier and the argument type are compatible but still seems likely to be an error. For instanace, "%hhd" and short. |
| NoMatchPedantic |
The conversion specifier and the argument type are disallowed by the C standard, but are in practice harmless. For instance, "%p" and int*. |
| NoMatchSignedness |
The conversion specifier and the argument type have different sign. |
| NoMatchTypeConfusion |
The conversion specifier and the argument type are compatible, but still seems likely to be an error. For instance, "%hd" and _Bool. |
Definition at line 271 of file FormatString.h.
◆ ArgType() [1/3]
| clang::analyze_format_string::ArgType::ArgType ( Kind K = UnknownTy, const char * N = nullptr ) |
inline |
◆ ArgType() [2/3]
| clang::analyze_format_string::ArgType::ArgType ( QualType T, const char * N = nullptr ) |
inline |
◆ ArgType() [3/3]
| clang::analyze_format_string::ArgType::ArgType ( CanQualType T) |
inline |
◆ getRepresentativeType()
◆ getRepresentativeTypeName()
| std::string ArgType::getRepresentativeTypeName |
( |
ASTContext & |
C |
) |
const |
◆ Invalid()
| ArgType clang::analyze_format_string::ArgType::Invalid ( ) |
inlinestatic |
◆ isPtrdiffT()
| bool clang::analyze_format_string::ArgType::isPtrdiffT ( ) const |
inline |
◆ isSizeT()
| bool clang::analyze_format_string::ArgType::isSizeT ( ) const |
inline |
◆ isValid()
| bool clang::analyze_format_string::ArgType::isValid ( ) const |
inline |
◆ makePtrdiffT()
| ArgType clang::analyze_format_string::ArgType::makePtrdiffT ( const ArgType & A) |
inlinestatic |
◆ makeSizeT()
| ArgType clang::analyze_format_string::ArgType::makeSizeT ( const ArgType & A) |
inlinestatic |
◆ makeVectorType()
◆ matchesArgType()
◆ matchesType()
◆ PtrTo()
| ArgType clang::analyze_format_string::ArgType::PtrTo ( const ArgType & A) |
inlinestatic |
The documentation for this class was generated from the following files: