//===- InstallAPI/DylibVerifier.h -------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_INSTALLAPI_DYLIBVERIFIER_H #define LLVM_CLANG_INSTALLAPI_DYLIBVERIFIER_H #include "clang/Basic/Diagnostic.h" #include "clang/Basic/SourceManager.h" #include "clang/InstallAPI/MachO.h" namespace clang { namespace installapi { struct FrontendAttrs; /// A list of InstallAPI verification modes. enum class VerificationMode { … }; LibAttrs; ReexportedInterfaces; // Pointers to information about a zippered declaration used for // querying and reporting violations against different // declarations that all map to the same symbol. struct ZipperedDeclSource { … }; ZipperedDeclSources; /// Service responsible to tracking state of verification across the /// lifetime of InstallAPI. /// As declarations are collected during AST traversal, they are /// compared as symbols against what is available in the binary dylib. class DylibVerifier : llvm::MachO::RecordVisitor { … }; } // namespace installapi } // namespace clang #endif // LLVM_CLANG_INSTALLAPI_DYLIBVERIFIER_H