File tree Expand file tree Collapse file tree 5 files changed +74
-3
lines changed Expand file tree Collapse file tree 5 files changed +74
-3
lines changed Original file line number Diff line number Diff line change @@ -7029,7 +7029,8 @@ void ClangImporter::Implementation::importAttributes(
7029
7029
7030
7030
StringRef message = avail->getMessage ();
7031
7031
7032
- const auto &deprecated = avail->getDeprecated ();
7032
+ clang::VersionTuple deprecated = avail->getDeprecated ();
7033
+
7033
7034
if (!deprecated.empty ()) {
7034
7035
if (platformAvailability.deprecatedAsUnavailableFilter &&
7035
7036
platformAvailability.deprecatedAsUnavailableFilter (
@@ -7041,8 +7042,14 @@ void ClangImporter::Implementation::importAttributes(
7041
7042
}
7042
7043
}
7043
7044
7044
- const auto &obsoleted = avail->getObsoleted ();
7045
- const auto &introduced = avail->getIntroduced ();
7045
+ clang::VersionTuple obsoleted = avail->getObsoleted ();
7046
+ clang::VersionTuple introduced = avail->getIntroduced ();
7047
+
7048
+ // Swift only allows "." separators.
7049
+ obsoleted.UseDotAsSeparator ();
7050
+ introduced.UseDotAsSeparator ();
7051
+ deprecated.UseDotAsSeparator ();
7052
+
7046
7053
const auto &replacement = avail->getReplacement ();
7047
7054
7048
7055
StringRef swiftReplacement = " " ;
Original file line number Diff line number Diff line change @@ -32,3 +32,10 @@ struct Arkham;
32
32
@protocol Soul;
33
33
34
34
typedef struct __attribute__ ((objc_bridge(id ))) __MyLittleCFType *MyLittleCFType;
35
+
36
+ @interface MaybeAvailable
37
+ -(void )method1 __attribute__((availability(macosx, introduced=10.1 )));
38
+ -(void )method2 __attribute__((availability(macosx, introduced=10_1)));
39
+ -(void )method3 __attribute__((availability(macosx, deprecated=10_10)));
40
+ -(void )method4 __attribute__((availability(macosx, introduced=10_1, deprecated=10_10, obsoleted=10_11)));
41
+ @end
Original file line number Diff line number Diff line change @@ -28,3 +28,22 @@ protocol Superproto {
28
28
29
29
class MyLittleCFType {
30
30
}
31
+
32
+ class MaybeAvailable {
33
+ @available(OSX 10.1, *)
34
+ class func method1()
35
+ @available(OSX 10.1, *)
36
+ func method1()
37
+ @available(OSX 10.1, *)
38
+ class func method2()
39
+ @available(OSX 10.1, *)
40
+ func method2()
41
+ @available(OSX, deprecated: 10.10)
42
+ class func method3()
43
+ @available(OSX, deprecated: 10.10)
44
+ func method3()
45
+ @available(OSX, introduced: 10.1, deprecated: 10.10, obsoleted: 10.11)
46
+ class func method4()
47
+ @available(OSX, introduced: 10.1, deprecated: 10.10, obsoleted: 10.11)
48
+ func method4()
49
+ }
Original file line number Diff line number Diff line change @@ -25,3 +25,22 @@ protocol Superproto {
25
25
26
26
class MyLittleCFType : _CFObject {
27
27
}
28
+
29
+ class MaybeAvailable {
30
+ @available(OSX 10.1, *)
31
+ class func method1()
32
+ @available(OSX 10.1, *)
33
+ func method1()
34
+ @available(OSX 10.1, *)
35
+ class func method2()
36
+ @available(OSX 10.1, *)
37
+ func method2()
38
+ @available(OSX, deprecated: 10.10)
39
+ class func method3()
40
+ @available(OSX, deprecated: 10.10)
41
+ func method3()
42
+ @available(OSX, introduced: 10.1, deprecated: 10.10, obsoleted: 10.11)
43
+ class func method4()
44
+ @available(OSX, introduced: 10.1, deprecated: 10.10, obsoleted: 10.11)
45
+ func method4()
46
+ }
Original file line number Diff line number Diff line change @@ -28,3 +28,22 @@ protocol Superproto {
28
28
29
29
class MyLittleCFType : _CFObject {
30
30
}
31
+
32
+ class MaybeAvailable {
33
+ @available(OSX 10.1, *)
34
+ class func method1()
35
+ @available(OSX 10.1, *)
36
+ func method1()
37
+ @available(OSX 10.1, *)
38
+ class func method2()
39
+ @available(OSX 10.1, *)
40
+ func method2()
41
+ @available(OSX, deprecated: 10.10)
42
+ class func method3()
43
+ @available(OSX, deprecated: 10.10)
44
+ func method3()
45
+ @available(OSX, introduced: 10.1, deprecated: 10.10, obsoleted: 10.11)
46
+ class func method4()
47
+ @available(OSX, introduced: 10.1, deprecated: 10.10, obsoleted: 10.11)
48
+ func method4()
49
+ }
You can’t perform that action at this time.
0 commit comments