diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2010-08-17 20:23:12 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-08-17 20:23:12 +0000 |
commit | a8fb24fa3151567056f6125999cea69e39604f35 (patch) | |
tree | 0bc13f02fe5caf73dde05dbcad9b0b179bf8d2e2 /include/clang | |
parent | e638f86124c690f16e308f8d3822d15ebee6ecb5 (diff) |
Patch to add type parameter support for attribute iboutletcollection.
Radar 8308053.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111275 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang')
-rw-r--r-- | include/clang/AST/Attr.h | 10 | ||||
-rw-r--r-- | include/clang/Basic/DiagnosticSemaKinds.td | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/include/clang/AST/Attr.h b/include/clang/AST/Attr.h index 699fff9ffb..5b741c669a 100644 --- a/include/clang/AST/Attr.h +++ b/include/clang/AST/Attr.h @@ -17,6 +17,7 @@ #include "llvm/Support/Casting.h" #include "llvm/ADT/StringRef.h" #include "clang/Basic/AttrKinds.h" +#include "clang/AST/Type.h" #include <cassert> #include <cstring> #include <algorithm> @@ -27,6 +28,7 @@ namespace clang { class IdentifierInfo; class ObjCInterfaceDecl; class Expr; + class QualType; } // Defined in ASTContext.h @@ -286,12 +288,12 @@ public: }; class IBOutletCollectionAttr : public Attr { - const ObjCInterfaceDecl *D; + QualType QT; public: - IBOutletCollectionAttr(const ObjCInterfaceDecl *d = 0) - : Attr(attr::IBOutletCollection), D(d) {} + IBOutletCollectionAttr(QualType qt = QualType()) + : Attr(attr::IBOutletCollection), QT(qt) {} - const ObjCInterfaceDecl *getClass() const { return D; } + QualType getType() const { return QT; } virtual Attr *clone(ASTContext &C) const; diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td index 47c0afffcf..b243ca0ea5 100644 --- a/include/clang/Basic/DiagnosticSemaKinds.td +++ b/include/clang/Basic/DiagnosticSemaKinds.td @@ -826,6 +826,8 @@ def err_attributes_are_not_compatible : Error< "%0 and %1 attributes are not compatible">; def err_attribute_wrong_number_arguments : Error< "attribute requires %0 argument(s)">; +def err_iboutletcollection_type : Error< + "invalid type %0 as argument of iboutletcollection attribue">; def err_attribute_missing_parameter_name : Error< "attribute requires unquoted parameter">; def err_attribute_invalid_vector_type : Error<"invalid vector element type %0">; |