aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-08-17 20:23:12 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-08-17 20:23:12 +0000
commita8fb24fa3151567056f6125999cea69e39604f35 (patch)
tree0bc13f02fe5caf73dde05dbcad9b0b179bf8d2e2 /include
parente638f86124c690f16e308f8d3822d15ebee6ecb5 (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')
-rw-r--r--include/clang/AST/Attr.h10
-rw-r--r--include/clang/Basic/DiagnosticSemaKinds.td2
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">;