LLVM: include/llvm/TextAPI/RecordsSlice.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef LLVM_TEXTAPI_RECORDSLICE_H

15#define LLVM_TEXTAPI_RECORDSLICE_H

16

23

24namespace llvm {

26

27

28

30public:

32

34

36

37

38

39

40

41

42

43

44

45

46

51

52

53

54

55

56

57

58

59

60

64 bool Inlined = false);

65

66

67

68

69

70

71

75

76

77

78

79

80

81

84

85

86

87

88

89

90

93

94

95

96

97

99

100

101

102

103

104

107

108

109

110

111

112

113

114

115

118

119

120

121

122

123

126

127

128

129

130

131

135

136

138

139

141 return hasBinaryAttrs() && Globals.empty() && Classes.empty() &&

142 Categories.empty();

143 }

144

145

147

164

165

167

168

169

171

172private:

174

175 const Target TAPITarget;

176

177

179

180

181

182

183

184

186 R->Linkage = std::max(R->Linkage, L);

187 }

188

189

190

191

192

194

198

199 std::unique_ptr BA{nullptr};

200};

201

204LLVM_ABI std::unique_ptr

206

207}

208}

209#endif

This file defines the BumpPtrAllocator interface.

Implements the TAPI Record Types.

Defines the interface file.

Base class for any usage of traversing over collected Records.

LLVM_ABI StringRef copyString(StringRef String)

Store any strings owned by RecordSlice into allocator and return back reference to that.

LLVM_ABI ObjCIVarRecord * findObjCIVar(bool IsScopedName, StringRef Name) const

Find ObjC instance variable.

LLVM_ABI ObjCCategoryRecord * addObjCCategory(StringRef ClassToExtend, StringRef Category)

Add ObjC Category record.

LLVM_ABI ObjCInterfaceRecord * addObjCInterface(StringRef Name, RecordLinkage Linkage, ObjCIFSymbolKind SymType)

Add ObjC Class record.

RecordsSlice(const llvm::Triple &T)

Definition RecordsSlice.h:31

bool empty() const

Definition RecordsSlice.h:140

LLVM_ABI ObjCContainerRecord * findContainer(bool IsIVar, StringRef Name) const

Find ObjC Container.

LLVM_ABI ObjCIVarRecord * addObjCIVar(ObjCContainerRecord *Container, StringRef Name, RecordLinkage Linkage)

Add ObjC IVar record.

LLVM_ABI GlobalRecord * addGlobal(StringRef Name, RecordLinkage Linkage, GlobalRecord::Kind GV, SymbolFlags Flags=SymbolFlags::None, bool Inlined=false)

Add non-ObjC global record.

LLVM_ABI GlobalRecord * findGlobal(StringRef Name, GlobalRecord::Kind GV=GlobalRecord::Kind::Unknown) const

Find non-objc global.

LLVM_ABI ObjCCategoryRecord * findObjCCategory(StringRef ClassToExtend, StringRef Category) const

Find ObjC Category.

LLVM_ABI BinaryAttrs & getBinaryAttrs()

Return reference to BinaryAttrs.

const Target & getTarget() const

Get TAPI converted target.

Definition RecordsSlice.h:35

const llvm::Triple & getTriple() const

Get target triple.

Definition RecordsSlice.h:33

LLVM_ABI ObjCInterfaceRecord * findObjCInterface(StringRef Name) const

Find ObjC Class.

LLVM_ABI Record * addRecord(StringRef Name, SymbolFlags Flags, GlobalRecord::Kind GV=GlobalRecord::Kind::Unknown, RecordLinkage Linkage=RecordLinkage::Unknown)

Add unspecified record to slice.

LLVM_ABI void visit(RecordVisitor &V) const

bool hasBinaryAttrs() const

Definition RecordsSlice.h:137

This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.

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

Triple - Helper class for working with autoconf configuration names.

FileType

Defines the file type TextAPI files can represent.

@ Invalid

Invalid file type.

LLVM_ABI std::unique_ptr< InterfaceFile > convertToInterfaceFile(const Records &Slices)

llvm::MapVector< K, std::unique_ptr< V > > RecordMap

ObjCIFSymbolKind

ObjC Interface symbol mappings.

llvm::SmallVector< std::shared_ptr< RecordsSlice >, 4 > Records

Definition RecordsSlice.h:202

This is an optimization pass for GlobalISel generic memory operations.

BumpPtrAllocatorImpl<> BumpPtrAllocator

The standard BumpPtrAllocator which just uses the default template parameters.

Definition RecordsSlice.h:148

uint8_t SwiftABI

Definition RecordsSlice.h:159

StringRef UUID

Definition RecordsSlice.h:154

std::vector< StringRef > RPaths

Definition RecordsSlice.h:151

StringRef InstallName

Definition RecordsSlice.h:153

std::vector< StringRef > RexportedLibraries

Definition RecordsSlice.h:150

FileType File

Definition RecordsSlice.h:156

std::vector< StringRef > AllowableClients

Definition RecordsSlice.h:149

bool TwoLevelNamespace

Definition RecordsSlice.h:160

llvm::MachO::PackedVersion CompatVersion

Definition RecordsSlice.h:158

llvm::MachO::PackedVersion CurrentVersion

Definition RecordsSlice.h:157

StringRef ParentUmbrella

Definition RecordsSlice.h:152

bool OSLibNotForSharedCache

Definition RecordsSlice.h:162

bool AppExtensionSafe

Definition RecordsSlice.h:161

StringRef Path

Definition RecordsSlice.h:155