Lines Matching full:selector
12 /// clang::Selector interfaces.
38 class MultiKeywordSelector; // private class used by Selector
541 /// beyond their selector name; for example, a method called '_init'
552 // additional CamelCase "words" in their first selector chunk
561 // selector with the given name.
600 class Selector {
604 // Empty selector = 0.
612 Selector(IdentifierInfo *II, unsigned nArgs) {
618 Selector(MultiKeywordSelector *SI) {
637 static ObjCMethodFamily getMethodFamilyImpl(Selector sel);
645 Selector() : InfoPtr(0) {}
646 Selector(uintptr_t V) : InfoPtr(V) {}
649 bool operator==(Selector RHS) const {
652 bool operator!=(Selector RHS) const {
659 /// \brief Determine whether this is the empty selector.
662 // Predicates to identify the selector type.
672 /// \brief Retrieve the identifier at a given position in the selector.
681 /// selector, in which case 0 is the only permissible value.
687 /// \brief Retrieve the name at a given position in the selector.
691 /// selector, in which case 0 is the only permissible value.
697 /// \brief Derive the full selector name (e.g. "foo:bar:") and return
707 static Selector getEmptyMarker() {
708 return Selector(uintptr_t(-1));
710 static Selector getTombstoneMarker() {
711 return Selector(uintptr_t(-2));
714 static ObjCInstanceTypeFamily getInstTypeMethodFamily(Selector sel);
727 /// \brief Can create any sort of selector.
729 /// \p NumArgs indicates whether this is a no argument selector "foo", a
730 /// single argument selector "foo:" or multi-argument "foo:bar:".
731 Selector getSelector(unsigned NumArgs, IdentifierInfo **IIV);
733 Selector getUnarySelector(IdentifierInfo *ID) {
734 return Selector(ID, 1);
736 Selector getNullarySelector(IdentifierInfo *ID) {
737 return Selector(ID, 0);
749 /// \brief Return the default setter selector for the given identifier.
753 static Selector constructSetterSelector(IdentifierTable &Idents,
785 /// arguments in the Objective-C selector, in which case the
796 struct DenseMapInfo<clang::Selector> {
797 static inline clang::Selector getEmptyKey() {
798 return clang::Selector::getEmptyMarker();
800 static inline clang::Selector getTombstoneKey() {
801 return clang::Selector::getTombstoneMarker();
804 static unsigned getHashValue(clang::Selector S);
806 static bool isEqual(clang::Selector LHS, clang::Selector RHS) {
812 struct isPodLike<clang::Selector> { static const bool value = true; };
815 class PointerLikeTypeTraits<clang::Selector> {
817 static inline const void *getAsVoidPointer(clang::Selector P) {
820 static inline clang::Selector getFromVoidPointer(const void *P) {
821 return clang::Selector(reinterpret_cast<uintptr_t>(P));