#include "clang/AST/NSAPI.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/Expr.h"
#include "llvm/ADT/StringSwitch.h"
#include <optional>
usingnamespaceclang;
NSAPI::NSAPI(ASTContext &ctx)
: … { … }
IdentifierInfo *NSAPI::getNSClassId(NSClassIdKindKind K) const { … }
Selector NSAPI::getNSStringSelector(NSStringMethodKind MK) const { … }
Selector NSAPI::getNSArraySelector(NSArrayMethodKind MK) const { … }
std::optional<NSAPI::NSArrayMethodKind>
NSAPI::getNSArrayMethodKind(Selector Sel) { … }
Selector NSAPI::getNSDictionarySelector(
NSDictionaryMethodKind MK) const { … }
std::optional<NSAPI::NSDictionaryMethodKind>
NSAPI::getNSDictionaryMethodKind(Selector Sel) { … }
Selector NSAPI::getNSSetSelector(NSSetMethodKind MK) const { … }
std::optional<NSAPI::NSSetMethodKind> NSAPI::getNSSetMethodKind(Selector Sel) { … }
Selector NSAPI::getNSNumberLiteralSelector(NSNumberLiteralMethodKind MK,
bool Instance) const { … }
std::optional<NSAPI::NSNumberLiteralMethodKind>
NSAPI::getNSNumberLiteralMethodKind(Selector Sel) const { … }
std::optional<NSAPI::NSNumberLiteralMethodKind>
NSAPI::getNSNumberFactoryMethodKind(QualType T) const { … }
bool NSAPI::isObjCBOOLType(QualType T) const { … }
bool NSAPI::isObjCNSIntegerType(QualType T) const { … }
bool NSAPI::isObjCNSUIntegerType(QualType T) const { … }
StringRef NSAPI::GetNSIntegralKind(QualType T) const { … }
bool NSAPI::isMacroDefined(StringRef Id) const { … }
bool NSAPI::isSubclassOfNSClass(ObjCInterfaceDecl *InterfaceDecl,
NSClassIdKindKind NSClassKind) const { … }
bool NSAPI::isObjCTypedef(QualType T,
StringRef name, IdentifierInfo *&II) const { … }
bool NSAPI::isObjCEnumerator(const Expr *E,
StringRef name, IdentifierInfo *&II) const { … }
Selector NSAPI::getOrInitSelector(ArrayRef<StringRef> Ids,
Selector &Sel) const { … }
Selector NSAPI::getOrInitNullarySelector(StringRef Id, Selector &Sel) const { … }