> On May 3, 2017, at 4:10 PM, Geordie J via swift-users <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

        - Doug

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

Reply via email to