IdentifierInfo *Selector::getIdentifierInfoForSlot(unsigned argIndex) const { if (getIdentifierInfoFlag() < MultiArg) { assert(argIndex == 0 && "illegal keyword index"); return getAsIdentifierInfo(); } // We point to a MultiKeywordSelector. MultiKeywordSelector *SI = getMultiKeywordSelector(); return SI->getIdentifierInfoForSlot(argIndex); }
IdentifierInfo *Selector::getIdentifierInfoForSlot(unsigned argIndex) const { if (getIdentifierInfoFlag()) { assert(argIndex == 0 && "illegal keyword index"); return getAsIdentifierInfo(); } // We point to a MultiKeywordSelector (pointer doesn't contain any flags). MultiKeywordSelector *SI = reinterpret_cast<MultiKeywordSelector *>(InfoPtr); return SI->getIdentifierInfoForSlot(argIndex); }