Commit Graph

5 Commits

Author SHA1 Message Date
Allan Shortlidge
778532dbdf TBDGen: Don't emit pretty-printed API descriptor JSON by default.
Instead, use the `%validate-json` lit substitution to validate and format the
API descriptor file before running it through FileCheck. This allows us to
avoid needing to introduce a dedicated frontend option just to control whether
the output of -emit-api-descriptor is pretty printed.
2023-10-05 11:40:53 -07:00
Allan Shortlidge
e91580bf0e TBDGen: Teach APIGenRecorder to emit API descriptors during -emit-module.
Make the changes to APIGenRecorder that are necessary to make it capable of
emitting API descriptors during -emit-module jobs. The output in this mode
differs from the output when run on an existing module in a couple of important
ways:

- The value for the `file` key in the descriptor JSON is now the path to the
  source file that defines the declaration responsible for the symbol. In
  `swift-api-extract` mode, the value for this key is the path to the module or
  swiftinterface which is unavailable during an -emit-module job since the module
  is usually not being emitted to its final installed location.
- Some additional symbols may be included in the API descriptor JSON because
  more of the AST is available when emitting the module.

Resolves rdar://110916764
2023-10-05 11:40:53 -07:00
Allan Shortlidge
ea1ba1387d NFC: Add -parse-as-library and dedicated module caches to APIJSON tests. 2023-10-04 21:46:23 -07:00
Steven Wu
8818844451 Fix PR36520 for Apple Scilicon Mac
Do not hard code target in the check since it is different on Apple
Scilicon Mac.
2021-03-22 08:18:41 -07:00
Steven Wu
9904f9bb9c [SR-14311] Error out when swift-api-extract failed to load module
Emit diagnostics and error out when swift-api-extract failed to load
module.
2021-03-19 10:55:59 -07:00