1 //===-- Serialization/ObjectFilePCHContainerReader.h ------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef LLVM_CLANG_SERIALIZATION_OBJECTFILEPCHCONTAINERREADER_H 10 #define LLVM_CLANG_SERIALIZATION_OBJECTFILEPCHCONTAINERREADER_H 11 12 #include "clang/Serialization/PCHContainerOperations.h" 13 14 namespace clang { 15 /// A PCHContainerReader implementation that uses LLVM to 16 /// wraps Clang modules inside a COFF, ELF, or Mach-O container. 17 class ObjectFilePCHContainerReader : public PCHContainerReader { 18 ArrayRef<StringRef> getFormats() const override; 19 20 /// Returns the serialized AST inside the PCH container Buffer. 21 StringRef ExtractPCH(llvm::MemoryBufferRef Buffer) const override; 22 }; 23 } // namespace clang 24 25 #endif 26