13 #ifndef LLVM_CLANG_SEMA_OBJCMETHODLIST_H 14 #define LLVM_CLANG_SEMA_OBJCMETHODLIST_H 17 #include "llvm/ADT/PointerIntPair.h" 34 : MethodAndHasMoreThanOneDecl(M, 0) {}
36 : MethodAndHasMoreThanOneDecl(L.MethodAndHasMoreThanOneDecl),
37 NextAndExtraBits(L.NextAndExtraBits) {}
46 unsigned getBits()
const {
return NextAndExtraBits.getInt(); }
48 void setBits(
unsigned B) { NextAndExtraBits.setInt(B); }
51 return MethodAndHasMoreThanOneDecl.getPointer();
54 return MethodAndHasMoreThanOneDecl.setPointer(M);
58 return MethodAndHasMoreThanOneDecl.getInt();
61 return MethodAndHasMoreThanOneDecl.setInt(B);
ObjCMethodList(const ObjCMethodList &L)
void setHasMoreThanOneDecl(bool B)
ObjCMethodDecl * getMethod() const
ObjCMethodDecl - Represents an instance or class method declaration.
ObjCMethodList(ObjCMethodDecl *M)
void setMethod(ObjCMethodDecl *M)
llvm::PointerIntPair< ObjCMethodList *, 2 > NextAndExtraBits
The next list object and 2 bits for extra info.
ObjCMethodList * getNext() const
llvm::PointerIntPair< ObjCMethodDecl *, 1 > MethodAndHasMoreThanOneDecl
If there is more than one decl with this signature.
Dataflow Directional Tag Classes.
void setNext(ObjCMethodList *L)
bool hasMoreThanOneDecl() const
a linked list of methods with the same selector name but different signatures.
ObjCMethodList & operator=(const ObjCMethodList &L)