clang
3.9.0
|
#include <NSAPI.h>
Public Member Functions | |
NSAPI (ASTContext &Ctx) | |
ASTContext & | getASTContext () const |
IdentifierInfo * | getNSClassId (NSClassIdKindKind K) const |
Selector | getNSStringSelector (NSStringMethodKind MK) const |
The Objective-C NSString selectors. More... | |
Optional< NSStringMethodKind > | getNSStringMethodKind (Selector Sel) const |
Return NSStringMethodKind if. More... | |
bool | isNSUTF8StringEncodingConstant (const Expr *E) const |
Returns true if the expression. More... | |
bool | isNSASCIIStringEncodingConstant (const Expr *E) const |
Returns true if the expression. More... | |
Selector | getNSArraySelector (NSArrayMethodKind MK) const |
The Objective-C NSArray selectors. More... | |
Optional< NSArrayMethodKind > | getNSArrayMethodKind (Selector Sel) |
Return NSArrayMethodKind if Sel is such a selector. More... | |
Selector | getNSDictionarySelector (NSDictionaryMethodKind MK) const |
The Objective-C NSDictionary selectors. More... | |
Optional< NSDictionaryMethodKind > | getNSDictionaryMethodKind (Selector Sel) |
Return NSDictionaryMethodKind if Sel is such a selector. More... | |
Selector | getNSSetSelector (NSSetMethodKind MK) const |
The Objective-C NSSet selectors. More... | |
Optional< NSSetMethodKind > | getNSSetMethodKind (Selector Sel) |
Return NSSetMethodKind if Sel is such a selector. More... | |
Selector | getObjectForKeyedSubscriptSelector () const |
Returns selector for "objectForKeyedSubscript:". More... | |
Selector | getObjectAtIndexedSubscriptSelector () const |
Returns selector for "objectAtIndexedSubscript:". More... | |
Selector | getSetObjectForKeyedSubscriptSelector () const |
Returns selector for "setObject:forKeyedSubscript". More... | |
Selector | getSetObjectAtIndexedSubscriptSelector () const |
Returns selector for "setObject:atIndexedSubscript". More... | |
Selector | getIsEqualSelector () const |
Returns selector for "isEqual:". More... | |
Selector | getNSNumberLiteralSelector (NSNumberLiteralMethodKind MK, bool Instance) const |
The Objective-C NSNumber selectors used to create NSNumber literals. More... | |
bool | isNSNumberLiteralSelector (NSNumberLiteralMethodKind MK, Selector Sel) const |
Optional < NSNumberLiteralMethodKind > | getNSNumberLiteralMethodKind (Selector Sel) const |
Return NSNumberLiteralMethodKind if Sel is such a selector. More... | |
Optional < NSNumberLiteralMethodKind > | getNSNumberFactoryMethodKind (QualType T) const |
Determine the appropriate NSNumber factory method kind for a literal of the given type. More... | |
bool | isObjCBOOLType (QualType T) const |
Returns true if. More... | |
bool | isObjCNSIntegerType (QualType T) const |
Returns true if. More... | |
bool | isObjCNSUIntegerType (QualType T) const |
Returns true if. More... | |
StringRef | GetNSIntegralKind (QualType T) const |
Returns one of NSIntegral typedef names if. More... | |
bool | isMacroDefined (StringRef Id) const |
Returns true if Id is currently defined as a macro. More... | |
bool | isSubclassOfNSClass (ObjCInterfaceDecl *InterfaceDecl, NSClassIdKindKind NSClassKind) const |
Returns true if InterfaceDecl is subclass of NSClassKind . More... | |
Static Public Attributes | |
static const unsigned | NumClassIds = 10 |
static const unsigned | NumNSStringMethods = 5 |
static const unsigned | NumNSArrayMethods = 12 |
static const unsigned | NumNSDictionaryMethods = 14 |
static const unsigned | NumNSSetMethods = 5 |
static const unsigned | NumNSNumberLiteralMethods = 15 |
Enumerates the NSArray/NSMutableArray methods used to generate literals and to apply some checks.
Enumerates the NSDictionary/NSMutableDictionary methods used to generate literals and to apply some checks.
Enumerates the NSNumber methods used to generate literals.
|
explicit |
|
inline |
Definition at line 28 of file NSAPI.h.
Referenced by doRewriteToUTF8StringBoxedExpressionHelper(), getNSArrayObjects(), clang::edit::rewriteObjCRedundantCallWithLiteral(), rewriteToArrayLiteral(), rewriteToArraySubscriptGet(), rewriteToArraySubscriptSet(), rewriteToDictionaryLiteral(), rewriteToDictionarySubscriptGet(), rewriteToDictionarySubscriptSet(), rewriteToNSEnumDecl(), rewriteToNumberLiteral(), rewriteToNumericBoxedExpression(), clang::edit::rewriteToObjCLiteralSyntax(), rewriteToObjCProperty(), clang::edit::rewriteToObjCSubscriptSyntax(), and shouldNotRewriteImmediateMessageArgs().
|
inline |
Optional< NSAPI::NSArrayMethodKind > NSAPI::getNSArrayMethodKind | ( | Selector | Sel | ) |
Return NSArrayMethodKind if Sel
is such a selector.
Definition at line 157 of file NSAPI.cpp.
References getNSArraySelector(), clang::None, and NumNSArrayMethods.
Selector NSAPI::getNSArraySelector | ( | NSArrayMethodKind | MK | ) | const |
The Objective-C NSArray selectors.
Definition at line 90 of file NSAPI.cpp.
References clang::IdentifierTable::get(), clang::SelectorTable::getNullarySelector(), clang::SelectorTable::getSelector(), clang::SelectorTable::getUnarySelector(), clang::ASTContext::Idents, NSArr_array, NSArr_arrayWithArray, NSArr_arrayWithObject, NSArr_arrayWithObjects, NSArr_arrayWithObjectsCount, NSArr_initWithArray, NSArr_initWithObjects, NSArr_objectAtIndex, NSMutableArr_addObject, NSMutableArr_insertObjectAtIndex, NSMutableArr_replaceObjectAtIndex, NSMutableArr_setObjectAtIndexedSubscript, and clang::ASTContext::Selectors.
Referenced by getNSArrayMethodKind(), getNSArrayObjects(), clang::edit::rewriteObjCRedundantCallWithLiteral(), rewriteToArrayLiteral(), and clang::edit::rewriteToObjCSubscriptSyntax().
IdentifierInfo * NSAPI::getNSClassId | ( | NSClassIdKindKind | K | ) | const |
Definition at line 23 of file NSAPI.cpp.
References clang::IdentifierTable::get(), clang::ASTContext::Idents, and NumClassIds.
Referenced by getNSArrayObjects(), isSubclassOfNSClass(), clang::edit::rewriteObjCRedundantCallWithLiteral(), clang::edit::rewriteToObjCLiteralSyntax(), and shouldNotRewriteImmediateMessageArgs().
Optional< NSAPI::NSDictionaryMethodKind > NSAPI::getNSDictionaryMethodKind | ( | Selector | Sel | ) |
Return NSDictionaryMethodKind if Sel
is such a selector.
Definition at line 259 of file NSAPI.cpp.
References getNSDictionarySelector(), clang::None, and NumNSDictionaryMethods.
Selector NSAPI::getNSDictionarySelector | ( | NSDictionaryMethodKind | MK | ) | const |
The Objective-C NSDictionary selectors.
Definition at line 167 of file NSAPI.cpp.
References clang::IdentifierTable::get(), clang::SelectorTable::getNullarySelector(), clang::SelectorTable::getSelector(), clang::SelectorTable::getUnarySelector(), clang::ASTContext::Idents, NSDict_dictionary, NSDict_dictionaryWithDictionary, NSDict_dictionaryWithObjectForKey, NSDict_dictionaryWithObjectsAndKeys, NSDict_dictionaryWithObjectsForKeys, NSDict_dictionaryWithObjectsForKeysCount, NSDict_initWithDictionary, NSDict_initWithObjectsAndKeys, NSDict_initWithObjectsForKeys, NSDict_objectForKey, NSMutableDict_setObjectForKey, NSMutableDict_setObjectForKeyedSubscript, NSMutableDict_setValueForKey, and clang::ASTContext::Selectors.
Referenced by getNSDictionaryMethodKind(), clang::edit::rewriteObjCRedundantCallWithLiteral(), rewriteToDictionaryLiteral(), clang::edit::rewriteToObjCSubscriptSyntax(), and shouldNotRewriteImmediateMessageArgs().
StringRef NSAPI::GetNSIntegralKind | ( | QualType | T | ) | const |
Returns one of NSIntegral typedef names if.
T | is a typedef of that name in objective-c. |
Definition at line 486 of file NSAPI.cpp.
References clang::Type::getAs(), clang::ASTContext::getLangOpts(), and clang::QualType::isNull().
Optional< NSAPI::NSNumberLiteralMethodKind > NSAPI::getNSNumberFactoryMethodKind | ( | QualType | T | ) | const |
Determine the appropriate NSNumber factory method kind for a literal of the given type.
Definition at line 390 of file NSAPI.cpp.
References clang::Type::getAs(), clang::BuiltinType::getKind(), isObjCBOOLType(), isObjCNSIntegerType(), isObjCNSUIntegerType(), clang::None, NSNumberWithBool, NSNumberWithChar, NSNumberWithDouble, NSNumberWithFloat, NSNumberWithInt, NSNumberWithInteger, NSNumberWithLong, NSNumberWithLongLong, NSNumberWithShort, NSNumberWithUnsignedChar, NSNumberWithUnsignedInt, NSNumberWithUnsignedInteger, NSNumberWithUnsignedLong, NSNumberWithUnsignedLongLong, and NSNumberWithUnsignedShort.
Optional< NSAPI::NSNumberLiteralMethodKind > NSAPI::getNSNumberLiteralMethodKind | ( | Selector | Sel | ) | const |
Return NSNumberLiteralMethodKind if Sel
is such a selector.
Definition at line 379 of file NSAPI.cpp.
References isNSNumberLiteralSelector(), clang::None, and NumNSNumberLiteralMethods.
Referenced by rewriteToNumberLiteral(), and rewriteToNumericBoxedExpression().
Selector NSAPI::getNSNumberLiteralSelector | ( | NSNumberLiteralMethodKind | MK, |
bool | Instance | ||
) | const |
The Objective-C NSNumber selectors used to create NSNumber literals.
Instance | if true it will return the selector for the init* method otherwise it will return the selector for the number* method. |
Definition at line 326 of file NSAPI.cpp.
References clang::IdentifierTable::get(), clang::SelectorTable::getUnarySelector(), clang::ASTContext::Idents, clang::ast_matchers::internal::Names(), NumNSNumberLiteralMethods, and clang::ASTContext::Selectors.
Referenced by isNSNumberLiteralSelector().
Optional< NSAPI::NSSetMethodKind > NSAPI::getNSSetMethodKind | ( | Selector | Sel | ) |
Return NSSetMethodKind if Sel
is such a selector.
Definition at line 316 of file NSAPI.cpp.
References getNSSetSelector(), clang::None, and NumNSSetMethods.
Selector NSAPI::getNSSetSelector | ( | NSSetMethodKind | MK | ) | const |
The Objective-C NSSet selectors.
Definition at line 269 of file NSAPI.cpp.
References clang::IdentifierTable::get(), clang::SelectorTable::getSelector(), clang::SelectorTable::getUnarySelector(), clang::ASTContext::Idents, NSMutableSet_addObject, NSOrderedSet_insertObjectAtIndex, NSOrderedSet_replaceObjectAtIndexWithObject, NSOrderedSet_setObjectAtIndex, NSOrderedSet_setObjectAtIndexedSubscript, and clang::ASTContext::Selectors.
Referenced by getNSSetMethodKind().
Optional< NSAPI::NSStringMethodKind > NSAPI::getNSStringMethodKind | ( | Selector | Sel | ) | const |
Return NSStringMethodKind if.
Sel | is such a selector. |
Definition at line 80 of file NSAPI.cpp.
References getNSStringSelector(), clang::None, and NumNSStringMethods.
Selector NSAPI::getNSStringSelector | ( | NSStringMethodKind | MK | ) | const |
The Objective-C NSString selectors.
Definition at line 43 of file NSAPI.cpp.
References clang::IdentifierTable::get(), clang::SelectorTable::getSelector(), clang::SelectorTable::getUnarySelector(), clang::ASTContext::Idents, NSStr_initWithString, NSStr_initWithUTF8String, NSStr_stringWithCString, NSStr_stringWithCStringEncoding, NSStr_stringWithString, NSStr_stringWithUTF8String, and clang::ASTContext::Selectors.
Referenced by getNSStringMethodKind(), clang::edit::rewriteObjCRedundantCallWithLiteral(), and rewriteToStringBoxedExpression().
|
inline |
Returns selector for "objectAtIndexedSubscript:".
Definition at line 147 of file NSAPI.h.
Referenced by rewriteToArraySubscriptGet().
|
inline |
Returns selector for "objectForKeyedSubscript:".
Definition at line 141 of file NSAPI.h.
Referenced by rewriteToDictionarySubscriptGet().
|
inline |
Returns selector for "setObject:atIndexedSubscript".
Definition at line 159 of file NSAPI.h.
Referenced by rewriteToArraySubscriptSet().
|
inline |
Returns selector for "setObject:forKeyedSubscript".
Definition at line 153 of file NSAPI.h.
Referenced by rewriteToDictionarySubscriptSet().
bool NSAPI::isMacroDefined | ( | StringRef | Id | ) | const |
Returns true
if Id
is currently defined as a macro.
Definition at line 512 of file NSAPI.cpp.
References clang::IdentifierTable::get(), clang::IdentifierInfo::hasMacroDefinition(), and clang::ASTContext::Idents.
Referenced by rewriteToObjCProperty().
Returns true if the expression.
E | is a reference of "NSASCIIStringEncoding" enum constant. |
Definition at line 70 of file NSAPI.h.
Referenced by rewriteToStringBoxedExpression().
|
inline |
Definition at line 195 of file NSAPI.h.
References getNSNumberLiteralSelector().
Referenced by getNSNumberLiteralMethodKind(), rewriteToBoolLiteral(), and rewriteToCharLiteral().
Returns true if the expression.
E | is a reference of "NSUTF8StringEncoding" enum constant. |
Definition at line 64 of file NSAPI.h.
Referenced by rewriteToStringBoxedExpression().
Returns true if.
T | is a typedef of "BOOL" in objective-c. |
Definition at line 474 of file NSAPI.cpp.
Referenced by getNSNumberFactoryMethodKind().
Returns true if.
T | is a typedef of "NSInteger" in objective-c. |
Definition at line 478 of file NSAPI.cpp.
Referenced by getNSNumberFactoryMethodKind().
Returns true if.
T | is a typedef of "NSUInteger" in objective-c. |
Definition at line 482 of file NSAPI.cpp.
Referenced by getNSNumberFactoryMethodKind().
bool NSAPI::isSubclassOfNSClass | ( | ObjCInterfaceDecl * | InterfaceDecl, |
NSClassIdKindKind | NSClassKind | ||
) | const |
Returns true
if InterfaceDecl
is subclass of NSClassKind
.
Definition at line 517 of file NSAPI.cpp.
References clang::NamedDecl::getIdentifier(), getNSClassId(), and clang::ObjCInterfaceDecl::getSuperClass().
|
static |
Definition at line 42 of file NSAPI.h.
Referenced by getNSClassId().
|
static |
Definition at line 90 of file NSAPI.h.
Referenced by getNSArrayMethodKind().
|
static |
Definition at line 115 of file NSAPI.h.
Referenced by getNSDictionaryMethodKind().
|
static |
Definition at line 187 of file NSAPI.h.
Referenced by getNSNumberLiteralMethodKind(), and getNSNumberLiteralSelector().
|
static |
Definition at line 132 of file NSAPI.h.
Referenced by getNSSetMethodKind().
|
static |
Definition at line 52 of file NSAPI.h.
Referenced by getNSStringMethodKind().