LLVM: include/llvm/Object/TapiUniversal.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_OBJECT_TAPIUNIVERSAL_H

14#define LLVM_OBJECT_TAPIUNIVERSAL_H

15

23

24namespace llvm {

26

28

30public:

33 int Index;

34

35 public:

37 : Parent(Parent), Index(Index) {}

38

40

42 return (Parent == Other.Parent) && (Index == Other.Index);

43 }

44

46 auto Result =

48 return Result.first;

49 }

50

52 auto Result =

54 return Result.second;

55 }

56

60

62 return std::string(Parent->Libraries[Index].InstallName);

63 }

64

66 return Parent->ParsedFile->getInstallName() == getInstallName();

67 }

68

70 };

71

74

75 public:

79

81 return Obj == Other.Obj;

82 }

84 return !(*this == Other);

85 }

86

88 Obj = Obj.getNext();

89 return *this;

90 }

91 };

92

97

102

106

108

110

111 static bool classof(const Binary *v) { return v->isTapiUniversal(); }

112

113private:

114

115 struct Library {

118 const std::optional<size_t> DocumentIdx;

119 };

120

121 std::unique_ptrMachO::InterfaceFile ParsedFile;

122 std::vector Libraries;

123};

124

125}

126}

127

128#endif

Lightweight error class with error context and mandatory checking.

Tagged union holding either a T or a Error.

Defines the interface file.

StringRef - Represent a constant reference to a string, i.e.

A range adaptor for a pair of iterators.

Binary(unsigned int Type, MemoryBufferRef Source)

Definition TapiUniversal.h:31

ObjectForArch(const TapiUniversal *Parent, int Index)

Definition TapiUniversal.h:36

bool isTopLevelLib() const

Definition TapiUniversal.h:65

uint32_t getCPUSubType() const

Definition TapiUniversal.h:51

StringRef getArchFlagName() const

Definition TapiUniversal.h:57

bool operator==(const ObjectForArch &Other) const

Definition TapiUniversal.h:41

ObjectForArch getNext() const

Definition TapiUniversal.h:39

uint32_t getCPUType() const

Definition TapiUniversal.h:45

std::string getInstallName() const

Definition TapiUniversal.h:61

Definition TapiUniversal.h:72

object_iterator(const ObjectForArch &Obj)

Definition TapiUniversal.h:76

const ObjectForArch & operator*() const

Definition TapiUniversal.h:78

bool operator==(const object_iterator &Other) const

Definition TapiUniversal.h:80

object_iterator & operator++()

Definition TapiUniversal.h:87

bool operator!=(const object_iterator &Other) const

Definition TapiUniversal.h:83

const ObjectForArch * operator->() const

Definition TapiUniversal.h:77

Definition TapiUniversal.h:29

iterator_range< object_iterator > objects() const

Definition TapiUniversal.h:103

~TapiUniversal() override

uint32_t getNumberOfObjects() const

Definition TapiUniversal.h:109

object_iterator end_objects() const

Definition TapiUniversal.h:99

TapiUniversal(MemoryBufferRef Source, Error &Err)

static bool classof(const Binary *v)

Definition TapiUniversal.h:111

const MachO::InterfaceFile & getInterfaceFile()

Definition TapiUniversal.h:107

object_iterator begin_objects() const

Definition TapiUniversal.h:98

LLVM_ABI StringRef getArchitectureName(Architecture Arch)

Convert an architecture slice to a string.

LLVM_ABI std::pair< uint32_t, uint32_t > getCPUTypeFromArchitecture(Architecture Arch)

Convert an architecture slice to a CPU Type and Subtype pair.

Architecture

Defines the architecture slices that are supported by Text-based Stub files.

This is an optimization pass for GlobalISel generic memory operations.

iterator_range< T > make_range(T x, T y)

Convenience function for iterating over sub-ranges.