Commits

Devin Coughlin committed c9952640bb6
Support short-form @available attributes. Allow availability attributes of the form: @available(iOS 8.0, OSX 10.10, *) func foo() { } This form is intended for use by third-party developers when annotating their own declarations and uses the same syntax as #available(). This annotation says that on iOS foo() is available on version 8.0 and newer; on OSX it is available on 10.10; and on any other un-mentioned platform it considered available on the minimum deployment target and greater. Just like with For now, we support this form during parsing by synthesizing multiple implicit long-form @available attributes. So, for example, the above annotation will synthesize two implicit attributes: @available(iOS, introduced=8.0) @available(OSX, introduced=10.10) func foo() { } Synthesizing attributes in this way is not ideal -- it makes for a poor Fix-It experience, among other things -- but it exposes the short-form syntax with minimal invasiveness. rdar://problem/20938565 Swift SVN r28647