Use this schema to validate Clang .apinotes files.
This JSON schema was developed using
- LLVM project source APINotesYAMLCompiler.cpp
- API Notes Documentation
The following rules were extracted from the CPP source:
- Required properties (such as
Name) - Enums for definitions of properties such
SwiftWrapperKind(none,structorenum) - Mutual exclusion such as for
Tagswhere you must useEnumKindorEnumExtensibility/FlagEnum
Certain IDEs (IntelliJ) will report schema violations on the fly and will provide auto-completion of schema properties.