diff options
| author | robot-ydb-importer <[email protected]> | 2024-02-01 17:04:24 +0300 |
|---|---|---|
| committer | Alexander Smirnov <[email protected]> | 2024-02-09 19:16:57 +0300 |
| commit | 92eec2d2cadb061e8d0736fc1e6006255d1db6aa (patch) | |
| tree | 374efcbf55311667e4f87ee2790bf71ac6756ae4 /contrib/libs/llvm12/include/llvm/Object/TapiUniversal.h | |
| parent | b34656eaa432fe5258085ca4e4642774fe082456 (diff) | |
YDB Import 559
Diffstat (limited to 'contrib/libs/llvm12/include/llvm/Object/TapiUniversal.h')
| -rw-r--r-- | contrib/libs/llvm12/include/llvm/Object/TapiUniversal.h | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/contrib/libs/llvm12/include/llvm/Object/TapiUniversal.h b/contrib/libs/llvm12/include/llvm/Object/TapiUniversal.h deleted file mode 100644 index 20eed191dd4..00000000000 --- a/contrib/libs/llvm12/include/llvm/Object/TapiUniversal.h +++ /dev/null @@ -1,132 +0,0 @@ -#pragma once - -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wunused-parameter" -#endif - -//===-- TapiUniversal.h - Text-based Dynamic Library Stub -------*- 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 -// -//===----------------------------------------------------------------------===// -// -// This file declares the TapiUniversal interface. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_OBJECT_TAPI_UNIVERSAL_H -#define LLVM_OBJECT_TAPI_UNIVERSAL_H - -#include "llvm/Object/Binary.h" -#include "llvm/Object/TapiFile.h" -#include "llvm/Support/Error.h" -#include "llvm/Support/MemoryBuffer.h" -#include "llvm/TextAPI/MachO/Architecture.h" -#include "llvm/TextAPI/MachO/InterfaceFile.h" - -namespace llvm { -namespace object { - -class TapiUniversal : public Binary { -public: - class ObjectForArch { - const TapiUniversal *Parent; - int Index; - - public: - ObjectForArch(const TapiUniversal *Parent, int Index) - : Parent(Parent), Index(Index) {} - - ObjectForArch getNext() const { return ObjectForArch(Parent, Index + 1); } - - bool operator==(const ObjectForArch &Other) const { - return (Parent == Other.Parent) && (Index == Other.Index); - } - - uint32_t getCPUType() const { - auto Result = - MachO::getCPUTypeFromArchitecture(Parent->Libraries[Index].Arch); - return Result.first; - } - - uint32_t getCPUSubType() const { - auto Result = - MachO::getCPUTypeFromArchitecture(Parent->Libraries[Index].Arch); - return Result.second; - } - - StringRef getArchFlagName() const { - return MachO::getArchitectureName(Parent->Libraries[Index].Arch); - } - - std::string getInstallName() const { - return std::string(Parent->Libraries[Index].InstallName); - } - - bool isTopLevelLib() const { - return Parent->ParsedFile->getInstallName() == getInstallName(); - } - - Expected<std::unique_ptr<TapiFile>> getAsObjectFile() const; - }; - - class object_iterator { - ObjectForArch Obj; - - public: - object_iterator(const ObjectForArch &Obj) : Obj(Obj) {} - const ObjectForArch *operator->() const { return &Obj; } - const ObjectForArch &operator*() const { return Obj; } - - bool operator==(const object_iterator &Other) const { - return Obj == Other.Obj; - } - bool operator!=(const object_iterator &Other) const { - return !(*this == Other); - } - - object_iterator &operator++() { // Preincrement - Obj = Obj.getNext(); - return *this; - } - }; - - TapiUniversal(MemoryBufferRef Source, Error &Err); - static Expected<std::unique_ptr<TapiUniversal>> - create(MemoryBufferRef Source); - ~TapiUniversal() override; - - object_iterator begin_objects() const { return ObjectForArch(this, 0); } - object_iterator end_objects() const { - return ObjectForArch(this, Libraries.size()); - } - - iterator_range<object_iterator> objects() const { - return make_range(begin_objects(), end_objects()); - } - - uint32_t getNumberOfObjects() const { return Libraries.size(); } - - static bool classof(const Binary *v) { return v->isTapiUniversal(); } - -private: - struct Library { - StringRef InstallName; - MachO::Architecture Arch; - }; - - std::unique_ptr<MachO::InterfaceFile> ParsedFile; - std::vector<Library> Libraries; -}; - -} // end namespace object. -} // end namespace llvm. - -#endif // LLVM_OBJECT_TAPI_UNIVERSAL_H - -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif |
