> On May 4, 2017, at 4:57 PM, Geordie Jay <geo...@gmail.com> wrote:
> 
> Great, thanks for reminding me of this feature. I couldn't see how it could 
> be used outside of the stdlib though, is it possible to use apinotes when 
> simply linking a C module via its modulemap ?

You can put

        <modulename>.apinotes

into the same directory as the module map.

        - Doug

> Douglas Gregor <dgre...@apple.com <mailto:dgre...@apple.com>> schrieb am Fr. 
> 5. Mai 2017 um 01:55:
> 
>> On May 3, 2017, at 4:10 PM, Geordie J via swift-users <swift-users@swift.org 
>> <mailto:swift-users@swift.org>> wrote:
>> 
>> Hi everyone,
>> 
>> I’m about to start on another big project with Swift on Android and would 
>> like to annotate that JNI headers as much as possible before I do: 
>> specifically I’d like to make _Nonnull and CF_SWIFT_NAME annotations to the 
>> headers found in a user's jni.h.
>> 
>> The question is: is it possible to annotate headers this without changing 
>> the original header files? Specifically I’m looking for an options that 
>> allows annotations in a separate file, probably one that is read when 
>> loading the package’s module.modulemap.
>> 
>> I’d like to distribute the annotations in a SwiftPM package that also 
>> exposes the original (hopefully annotated) headers. Up until now I’ve been 
>> using Swift to override methods in code, but this isn’t as clean or 
>> extensible and I fear it may have other (particularly performance) 
>> implications.
>> 
>> I guess the alternative would be to just maintain and distribute a modified 
>> version of jni.h with the annotations, but that would be a "last resort” 
>> option.
> 
> 
> This is the role of API notes, which you can see here:
> 
>       https://github.com/apple/swift/tree/master/apinotes 
> <https://github.com/apple/swift/tree/master/apinotes>
> 
> with some rough documentation-in-source here:
> 
>       
> https://github.com/apple/swift-clang/blob/stable/lib/APINotes/APINotesYAMLCompiler.cpp
>  
> <https://github.com/apple/swift-clang/blob/stable/lib/APINotes/APINotesYAMLCompiler.cpp>
> 
>       - Doug
> 

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to