0149129ed3
Clang's been able to read the textual format for a long time, and indeed that's what's used in the SDK. This isn't even really a performance win because the information is cached in PCMs. rdar://problem/34293901 |
||
---|---|---|
.. | ||
Accelerate.apinotes | ||
CMakeLists.txt | ||
Dispatch.apinotes | ||
README.md | ||
ScriptingBridge.apinotes | ||
os.apinotes |
README.md
API Notes README
API notes provide a mechanism by which Objective-C APIs can be annotated with additional semantic information not present within the original Objective-C headers. This semantic information can then be used by the Swift compiler when importing the corresponding Objective-C module to provide a better mapping of Objective-C APIs into Swift.
API notes are organized into a set of .apinotes
files. Each .apinotes
file
contains annotations for a single Objective-C module, written in YAML (FIXME:
to be) described in the Clang repository. These YAML sources are lazily loaded
by the Swift compiler when it imports the corresponding framework, also
described below.
To add API notes for a system module $MODULE
that does not have them yet,
create a new source file $MODULE.apinotes
and update CMakeLists.txt.
Updated API notes will be found by the build system during the next build.