summaryrefslogtreecommitdiffstats
path: root/clang/test/Index/comment-objc-parameterized-classes.m
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2015-07-07 03:58:54 +0000
committerDouglas Gregor <dgregor@apple.com>2015-07-07 03:58:54 +0000
commit1ac1b63c9ca898e66aae9775cca6045082907b9a (patch)
treeb9196b185b0185c84e60f99881aaffd69f4da93d /clang/test/Index/comment-objc-parameterized-classes.m
parentab209d83be5dadff4f17364a71f323b89e3c63f8 (diff)
downloadbcm5719-llvm-1ac1b63c9ca898e66aae9775cca6045082907b9a.tar.gz
bcm5719-llvm-1ac1b63c9ca898e66aae9775cca6045082907b9a.zip
Implement variance for Objective-C type parameters.
Introduce co- and contra-variance for Objective-C type parameters, which allows us to express that (for example) an NSArray is covariant in its type parameter. This means that NSArray<NSMutableString *> * is a subtype of NSArray<NSString *> *, which is expected of the immutable Foundation collections. Type parameters can be annotated with __covariant or __contravariant to make them co- or contra-variant, respectively. This feature can be detected by __has_feature(objc_generics_variance). Implements rdar://problem/20217490. llvm-svn: 241549
Diffstat (limited to 'clang/test/Index/comment-objc-parameterized-classes.m')
-rw-r--r--clang/test/Index/comment-objc-parameterized-classes.m4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/test/Index/comment-objc-parameterized-classes.m b/clang/test/Index/comment-objc-parameterized-classes.m
index 173fcecf331..5a928509dfe 100644
--- a/clang/test/Index/comment-objc-parameterized-classes.m
+++ b/clang/test/Index/comment-objc-parameterized-classes.m
@@ -13,7 +13,7 @@
@interface NSObject
@end
-// CHECK: <Declaration>@interface A &lt;T : id, U : NSObject *&gt; : NSObject
+// CHECK: <Declaration>@interface A &lt;__covariant T : id, U : NSObject *&gt; : NSObject
/// A
-@interface A<T : id, U : NSObject *> : NSObject
+@interface A<__covariant T : id, U : NSObject *> : NSObject
@end
OpenPOWER on IntegriCloud