Home | History | Annotate | Download | only in AST

Lines Matching defs:ObjCObjectType

1416     friend class ObjCObjectType;
1732 const ObjCObjectType *&bound) const;
1857 const ObjCObjectType *getAsObjCInterfaceType() const;
1863 const ObjCObjectType *getAsObjCQualifiedInterfaceType() const;
4935 /// 'C' is an ObjCInterfaceType C. It is sugar for an ObjCObjectType
4938 /// 'C<P>' is an unspecialized ObjCObjectType with base C and protocol list [P].
4939 /// 'C<C*>' is a specialized ObjCObjectType with type arguments 'C*' and no
4941 /// 'C<C*><P>' is a specialized ObjCObjectType with base C, type arguments 'C*',
4945 /// pointee is an ObjCObjectType with base BuiltinType::ObjCIdType
4948 /// 'id<P>' is an ObjCObjectPointerType whose pointee is an ObjCObjectType
4951 class ObjCObjectType : public Type,
4952 public ObjCProtocolQualifiers<ObjCObjectType> {
4953 friend class ObjCProtocolQualifiers<ObjCObjectType>;
4954 // ObjCObjectType.NumTypeArgs - the number of type arguments stored
4956 // ObjCObjectType.NumProtocols - the number of protocols stored
4970 mutable llvm::PointerIntPair<const ObjCObjectType *, 1, bool>
4975 return const_cast<ObjCObjectType *>(this)->getTypeArgStorage();
4989 ObjCObjectType(QualType Canonical, QualType Base,
4995 ObjCObjectType(enum Nonce_ObjCInterface)
5011 /// - an ObjCObjectType (currently always an ObjCInterfaceType)
5097 /// of ObjCObjectType, so as to not increase the footprint of
5100 class ObjCObjectTypeImpl : public ObjCObjectType, public llvm::FoldingSetNode {
5103 // If anyone adds fields here, ObjCObjectType::getProtocolStorage()
5110 : ObjCObjectType(Canonical, Base, typeArgs, protocols, isKindOf) {}
5121 inline QualType *ObjCObjectType::getTypeArgStorage() {
5125 inline ObjCProtocolDecl **ObjCObjectType::getProtocolStorageImpl() {
5141 /// as a subtype of its superclass, ObjCObjectType:
5147 class ObjCInterfaceType : public ObjCObjectType {
5151 : ObjCObjectType(Nonce_ObjCInterface),
5168 // Nonsense to "hide" certain members of ObjCObjectType within this
5181 inline ObjCInterfaceDecl *ObjCObjectType::getInterface() const {
5183 while (const ObjCObjectType *ObjT = baseType->getAs<ObjCObjectType>()) {
5196 /// an ObjCObjectType (or sugar for one). In addition, the 'id' and 'Class'
5216 /// The result will always be an ObjCObjectType or sugar thereof.
5242 const ObjCObjectType *getObjectType() const {
5243 return PointeeType->castAs<ObjCObjectType>();
5321 typedef ObjCObjectType::qual_iterator qual_iterator;
5770 return isa<ObjCObjectType>(CanonicalType);
5774 isa<ObjCObjectType>(CanonicalType);