summaryrefslogtreecommitdiffstats
path: root/clang/test/Index/comment-objc-parameterized-classes.m
Commit message (Collapse)AuthorAgeFilesLines
* [Test Fix] Fix broken test Index/comment-objc-parameterized-classes.mBen Hamilton2018-04-121-1/+1
| | | | | | | | | | | | I broke this test in D45498 when I changed the formatter to remove spaces before Objective-C lightweight generics. This fixes the test. Test Plan: % make -j16 check-llvm-tools-llvm-lit && ./bin/llvm-lit -sv ../llvm/tools/clang/test/Index/comment-objc-parameterized-classes.m llvm-svn: 329921
* Fix printing of parameterized Objective-C interfaces.Bob Wilson2015-10-011-0/+5
| | | | | | This change was accidentally omitted from Doug's change in r241541. llvm-svn: 248975
* Implement variance for Objective-C type parameters.Douglas Gregor2015-07-071-2/+2
| | | | | | | | | | | | | | | 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
* Parsing, semantic analysis, and AST for Objective-C type parameters.Douglas Gregor2015-07-071-0/+19
Produce type parameter declarations for Objective-C type parameters, and attach lists of type parameters to Objective-C classes, categories, forward declarations, and extensions as appropriate. Perform semantic analysis of type bounds for type parameters, both in isolation and across classes/categories/extensions to ensure consistency. Also handle (de-)serialization of Objective-C type parameter lists, along with sundry other things one must do to add a new declaration to Clang. Note that Objective-C type parameters are typedef name declarations, like typedefs and C++11 type aliases, in support of type erasure. Part of rdar://problem/6294649. llvm-svn: 241541
OpenPOWER on IntegriCloud