11#import < Foundation/Foundation.h>
22
3- #define generateVersionDeclarations (V1, V2 ) \
4- __attribute__ ((availability(ios, introduced = V1 ))) \
5- __attribute__((availability(visionos, introduced = V1 ))) @interface TNSInterface \
6- ##V2 ##Plus : NSObject @end \
7- \
8- @interface TNSInterfaceMembers \
9- ##V2 : NSObject @property int property __attribute__ ((availability(ios, introduced = V1 ))) \
10- __attribute__((availability(visionos, introduced = V1 ))); \
11- \
12- +(void )staticMethod __attribute__ ((availability(ios, introduced = V1 ))) \
13- __attribute__((availability(visionos, introduced = V1 ))); \
14- \
15- -(void )instanceMethod __attribute__ ((availability(ios, introduced = V1 ))) \
16- __attribute__((availability(visionos, introduced = V1 ))); \
17- @end \
18- \
19- __attribute__ ((availability(ios, introduced = V1 ))) \
20- __attribute__((availability(visionos, introduced = V1 ))) void TNSFunction##V2 ##Plus(); \
21- \
22- __attribute__ ((availability(ios, introduced = V1 ))) __attribute__( \
23- (availability(visionos, introduced = V1 ))) extern const int TNSConstant##V2 ##Plus; \
24- \
25- enum TNSEnum##V2 ##Plus { TNSEnum##V2 ##Member } \
26- __attribute__ ((availability(ios, introduced = V1 ))) \
27- __attribute__((availability(visionos, introduced = V1 )))
3+ #define generateVersionDeclarations (V1, V2 ) \
4+ __attribute__ ((availability(ios, introduced = V1 ))) \
5+ __attribute__((availability(visionos, introduced = V1 ))) \
6+ __attribute__((availability(macos, introduced = V1 ))) \
7+ @interface TNSInterface \
8+ ##V2 ##Plus : NSObject @end \
9+ \
10+ @interface TNSInterfaceMembers \
11+ ##V2 : NSObject @property int property __attribute__ ((availability(ios, introduced = V1 ))) \
12+ __attribute__((availability(visionos, introduced = V1 ))) \
13+ __attribute__((availability(macos, introduced = V1 ))); \
14+ \
15+ +(void )staticMethod __attribute__ ((availability(ios, introduced = V1 ))) \
16+ __attribute__((availability(visionos, introduced = V1 ))) \
17+ __attribute__((availability(macos, introduced = V1 ))); \
18+ \
19+ -(void )instanceMethod __attribute__ ((availability(ios, introduced = V1 ))) \
20+ __attribute__((availability(visionos, introduced = V1 ))) \
21+ __attribute__((availability(macos, introduced = V1 ))); \
22+ @end \
23+ \
24+ __attribute__ ((availability(ios, introduced = V1 ))) \
25+ __attribute__((availability(visionos, introduced = V1 ))) \
26+ __attribute__((availability(macos, introduced = V1 ))) void \
27+ TNSFunction##V2 ##Plus(); \
28+ \
29+ __attribute__ ((availability(ios, introduced = V1 ))) \
30+ __attribute__((availability(visionos, introduced = V1 ))) \
31+ __attribute__((availability(macos, introduced = V1 ))) extern const int TNSConstant##V2 ##Plus; \
32+ \
33+ enum TNSEnum##V2 ##Plus { TNSEnum##V2 ##Member } \
34+ __attribute__ ((availability(ios, introduced = V1 ))) \
35+ __attribute__((availability(visionos, introduced = V1 ))) \
36+ __attribute__((availability(macos, introduced = V1 )))
2837
2938#ifndef generateVersionImpl
3039#define generateVersion (V1, V2 ) generateVersionDeclarations(V1 , V2 )
@@ -70,6 +79,7 @@ generateMinors(15);
7079
7180__attribute__ ((availability(ios, introduced = MAX_AVAILABILITY )))
7281__attribute__((availability(visionos, introduced = MAX_AVAILABILITY )))
82+ __attribute__((availability(macos, introduced = MAX_AVAILABILITY )))
7383@protocol TNSProtocolNeverAvailable<NSObject>
7484
7585@property(class, readonly) int staticPropertyFromProtocolNeverAvailable;
@@ -88,6 +98,7 @@ __attribute__((availability(visionos, introduced = MAX_AVAILABILITY)))
8898
8999__attribute__ ((availability(ios, introduced = 1.0 )))
90100__attribute__((availability(visionos, introduced = 1.0 )))
101+ __attribute__((availability(macos, introduced = 1.0 )))
91102@protocol TNSProtocolAlwaysAvailable<NSObject>
92103
93104@property(class, readonly) int staticPropertyFromProtocolAlwaysAvailable;
@@ -106,6 +117,7 @@ __attribute__((availability(visionos, introduced = 1.0)))
106117
107118__attribute__ ((availability(ios, introduced = MAX_AVAILABILITY )))
108119__attribute__((availability(visionos, introduced = MAX_AVAILABILITY )))
120+ __attribute__((availability(macos, introduced = MAX_AVAILABILITY )))
109121@interface TNSInterfaceNeverAvailable : TNSInterfaceAlwaysAvailable
110122@end
111123
0 commit comments