swift
55904926 - [Clang importer] Rely on Clang's mapping of API notes to attributes directly.

Commit
9 years ago
[Clang importer] Rely on Clang's mapping of API notes to attributes directly. Rather than managing API notes directly in the Clang importer, tell Clang where to find the API notes files and let it map them directly to attributes. Then, use the existing attribute-mapping mechanisms---with minor extensions for cases where Clang previously didn't map some Swift-specific API notes---to get at that information. There is a minor regression where we can no longer apply API notes to declarations that don't have a specific Clang declaration. The specific example (NSError's inherited init()) comes from rdar://problem/21042412; we've regressed here, but the correct fix is (and has always been) on the Objective-C side (rdar://problem/19977891). Finishes rdar://problem/24447420.
Author
Committer
Parents
  • apinotes
    • Dispatch.apinotes
    • Foundation.apinotes
    • ObjectiveC.apinotes
  • lib/ClangImporter
    • File
      ClangImporter.cpp
    • File
      ImportDecl.cpp
    • File
      ImportType.cpp
    • File
      ImporterImpl.h
  • test/ClangModules
    • File
      availability.swift