binding-tools-for-swift-ref.../apinotes
Jordan Rose 0149129ed3
[CMake] Stop compiling API notes files to a binary format (#19205)
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
2018-09-12 14:19:59 -07:00
..
Accelerate.apinotes
CMakeLists.txt
Dispatch.apinotes
README.md [CMake] Stop compiling API notes files to a binary format (#19205) 2018-09-12 14:19:59 -07:00
ScriptingBridge.apinotes
os.apinotes Update master to build with Xcode 10 beta 1, OS X 10.14, iOS 12, tvOS 12, and watchOS 5 SDKs. 2018-06-04 23:14:19 -07:00

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.