@@ -43,68 +43,77 @@ RecordTy *addTopLevelRecord(APISet::RecordMap<RecordTy> &RecordMap,
43
43
44
44
GlobalVariableRecord *
45
45
APISet::addGlobalVar (StringRef Name, StringRef USR, PresumedLoc Loc,
46
- const AvailabilityInfo &Availability , LinkageInfo Linkage,
46
+ AvailabilitySet Availabilities , LinkageInfo Linkage,
47
47
const DocComment &Comment, DeclarationFragments Fragments,
48
48
DeclarationFragments SubHeading) {
49
- return addTopLevelRecord (GlobalVariables, USR, Name, Loc, Availability,
50
- Linkage, Comment, Fragments, SubHeading);
49
+ return addTopLevelRecord (GlobalVariables, USR, Name, Loc,
50
+ std::move (Availabilities), Linkage, Comment,
51
+ Fragments, SubHeading);
51
52
}
52
53
53
54
GlobalFunctionRecord *APISet::addGlobalFunction (
54
55
StringRef Name, StringRef USR, PresumedLoc Loc,
55
- const AvailabilityInfo &Availability , LinkageInfo Linkage,
56
+ AvailabilitySet Availabilities , LinkageInfo Linkage,
56
57
const DocComment &Comment, DeclarationFragments Fragments,
57
58
DeclarationFragments SubHeading, FunctionSignature Signature) {
58
- return addTopLevelRecord (GlobalFunctions, USR, Name, Loc, Availability,
59
- Linkage, Comment, Fragments, SubHeading, Signature);
59
+ return addTopLevelRecord (GlobalFunctions, USR, Name, Loc,
60
+ std::move (Availabilities), Linkage, Comment,
61
+ Fragments, SubHeading, Signature);
60
62
}
61
63
62
- EnumConstantRecord *APISet::addEnumConstant (
63
- EnumRecord *Enum, StringRef Name, StringRef USR, PresumedLoc Loc,
64
- const AvailabilityInfo &Availability, const DocComment &Comment,
65
- DeclarationFragments Declaration, DeclarationFragments SubHeading) {
64
+ EnumConstantRecord *APISet::addEnumConstant (EnumRecord *Enum, StringRef Name,
65
+ StringRef USR, PresumedLoc Loc,
66
+ AvailabilitySet Availabilities,
67
+ const DocComment &Comment,
68
+ DeclarationFragments Declaration,
69
+ DeclarationFragments SubHeading) {
66
70
auto Record = std::make_unique<EnumConstantRecord>(
67
- USR, Name, Loc, Availability, Comment, Declaration, SubHeading);
71
+ USR, Name, Loc, std::move (Availabilities), Comment, Declaration,
72
+ SubHeading);
68
73
return Enum->Constants .emplace_back (std::move (Record)).get ();
69
74
}
70
75
71
76
EnumRecord *APISet::addEnum (StringRef Name, StringRef USR, PresumedLoc Loc,
72
- const AvailabilityInfo &Availability ,
77
+ AvailabilitySet Availabilities ,
73
78
const DocComment &Comment,
74
79
DeclarationFragments Declaration,
75
80
DeclarationFragments SubHeading) {
76
- return addTopLevelRecord (Enums, USR, Name, Loc, Availability, Comment ,
77
- Declaration, SubHeading);
81
+ return addTopLevelRecord (Enums, USR, Name, Loc, std::move (Availabilities) ,
82
+ Comment, Declaration, SubHeading);
78
83
}
79
84
80
85
StructFieldRecord *APISet::addStructField (StructRecord *Struct, StringRef Name,
81
86
StringRef USR, PresumedLoc Loc,
82
- const AvailabilityInfo &Availability ,
87
+ AvailabilitySet Availabilities ,
83
88
const DocComment &Comment,
84
89
DeclarationFragments Declaration,
85
90
DeclarationFragments SubHeading) {
86
91
auto Record = std::make_unique<StructFieldRecord>(
87
- USR, Name, Loc, Availability, Comment, Declaration, SubHeading);
92
+ USR, Name, Loc, std::move (Availabilities), Comment, Declaration,
93
+ SubHeading);
88
94
return Struct->Fields .emplace_back (std::move (Record)).get ();
89
95
}
90
96
91
97
StructRecord *APISet::addStruct (StringRef Name, StringRef USR, PresumedLoc Loc,
92
- const AvailabilityInfo &Availability ,
98
+ AvailabilitySet Availabilities ,
93
99
const DocComment &Comment,
94
100
DeclarationFragments Declaration,
95
101
DeclarationFragments SubHeading) {
96
- return addTopLevelRecord (Structs, USR, Name, Loc, Availability, Comment ,
97
- Declaration, SubHeading);
102
+ return addTopLevelRecord (Structs, USR, Name, Loc, std::move (Availabilities) ,
103
+ Comment, Declaration, SubHeading);
98
104
}
99
105
100
- ObjCCategoryRecord *APISet::addObjCCategory (
101
- StringRef Name, StringRef USR, PresumedLoc Loc,
102
- const AvailabilityInfo &Availability, const DocComment &Comment,
103
- DeclarationFragments Declaration, DeclarationFragments SubHeading,
104
- SymbolReference Interface) {
106
+ ObjCCategoryRecord *APISet::addObjCCategory (StringRef Name, StringRef USR,
107
+ PresumedLoc Loc,
108
+ AvailabilitySet Availabilities,
109
+ const DocComment &Comment,
110
+ DeclarationFragments Declaration,
111
+ DeclarationFragments SubHeading,
112
+ SymbolReference Interface) {
105
113
// Create the category record.
106
- auto *Record = addTopLevelRecord (ObjCCategories, USR, Name, Loc, Availability,
107
- Comment, Declaration, SubHeading, Interface);
114
+ auto *Record = addTopLevelRecord (ObjCCategories, USR, Name, Loc,
115
+ std::move (Availabilities), Comment,
116
+ Declaration, SubHeading, Interface);
108
117
109
118
// If this category is extending a known interface, associate it with the
110
119
// ObjCInterfaceRecord.
@@ -117,56 +126,57 @@ ObjCCategoryRecord *APISet::addObjCCategory(
117
126
118
127
ObjCInterfaceRecord *APISet::addObjCInterface (
119
128
StringRef Name, StringRef USR, PresumedLoc Loc,
120
- const AvailabilityInfo &Availability , LinkageInfo Linkage,
129
+ AvailabilitySet Availabilities , LinkageInfo Linkage,
121
130
const DocComment &Comment, DeclarationFragments Declaration,
122
131
DeclarationFragments SubHeading, SymbolReference SuperClass) {
123
- return addTopLevelRecord (ObjCInterfaces, USR, Name, Loc, Availability,
124
- Linkage, Comment, Declaration, SubHeading ,
125
- SuperClass);
132
+ return addTopLevelRecord (ObjCInterfaces, USR, Name, Loc,
133
+ std::move (Availabilities), Linkage, Comment ,
134
+ Declaration, SubHeading, SuperClass);
126
135
}
127
136
128
137
ObjCMethodRecord *APISet::addObjCMethod (
129
138
ObjCContainerRecord *Container, StringRef Name, StringRef USR,
130
- PresumedLoc Loc, const AvailabilityInfo &Availability,
131
- const DocComment &Comment, DeclarationFragments Declaration,
132
- DeclarationFragments SubHeading, FunctionSignature Signature,
133
- bool IsInstanceMethod) {
139
+ PresumedLoc Loc, AvailabilitySet Availabilities, const DocComment &Comment,
140
+ DeclarationFragments Declaration, DeclarationFragments SubHeading,
141
+ FunctionSignature Signature, bool IsInstanceMethod) {
134
142
auto Record = std::make_unique<ObjCMethodRecord>(
135
- USR, Name, Loc, Availability , Comment, Declaration, SubHeading, Signature ,
136
- IsInstanceMethod);
143
+ USR, Name, Loc, std::move (Availabilities) , Comment, Declaration,
144
+ SubHeading, Signature, IsInstanceMethod);
137
145
return Container->Methods .emplace_back (std::move (Record)).get ();
138
146
}
139
147
140
148
ObjCPropertyRecord *APISet::addObjCProperty (
141
149
ObjCContainerRecord *Container, StringRef Name, StringRef USR,
142
- PresumedLoc Loc, const AvailabilityInfo &Availability,
143
- const DocComment &Comment, DeclarationFragments Declaration,
144
- DeclarationFragments SubHeading,
150
+ PresumedLoc Loc, AvailabilitySet Availabilities, const DocComment &Comment,
151
+ DeclarationFragments Declaration, DeclarationFragments SubHeading,
145
152
ObjCPropertyRecord::AttributeKind Attributes, StringRef GetterName,
146
153
StringRef SetterName, bool IsOptional) {
147
154
auto Record = std::make_unique<ObjCPropertyRecord>(
148
- USR, Name, Loc, Availability , Comment, Declaration, SubHeading ,
149
- Attributes, GetterName, SetterName, IsOptional);
155
+ USR, Name, Loc, std::move (Availabilities) , Comment, Declaration,
156
+ SubHeading, Attributes, GetterName, SetterName, IsOptional);
150
157
return Container->Properties .emplace_back (std::move (Record)).get ();
151
158
}
152
159
153
160
ObjCInstanceVariableRecord *APISet::addObjCInstanceVariable (
154
161
ObjCContainerRecord *Container, StringRef Name, StringRef USR,
155
- PresumedLoc Loc, const AvailabilityInfo &Availability,
156
- const DocComment &Comment, DeclarationFragments Declaration,
157
- DeclarationFragments SubHeading,
162
+ PresumedLoc Loc, AvailabilitySet Availabilities, const DocComment &Comment,
163
+ DeclarationFragments Declaration, DeclarationFragments SubHeading,
158
164
ObjCInstanceVariableRecord::AccessControl Access) {
159
165
auto Record = std::make_unique<ObjCInstanceVariableRecord>(
160
- USR, Name, Loc, Availability, Comment, Declaration, SubHeading, Access);
166
+ USR, Name, Loc, std::move (Availabilities), Comment, Declaration,
167
+ SubHeading, Access);
161
168
return Container->Ivars .emplace_back (std::move (Record)).get ();
162
169
}
163
170
164
- ObjCProtocolRecord *APISet::addObjCProtocol (
165
- StringRef Name, StringRef USR, PresumedLoc Loc,
166
- const AvailabilityInfo &Availability, const DocComment &Comment,
167
- DeclarationFragments Declaration, DeclarationFragments SubHeading) {
168
- return addTopLevelRecord (ObjCProtocols, USR, Name, Loc, Availability, Comment,
169
- Declaration, SubHeading);
171
+ ObjCProtocolRecord *APISet::addObjCProtocol (StringRef Name, StringRef USR,
172
+ PresumedLoc Loc,
173
+ AvailabilitySet Availabilities,
174
+ const DocComment &Comment,
175
+ DeclarationFragments Declaration,
176
+ DeclarationFragments SubHeading) {
177
+ return addTopLevelRecord (ObjCProtocols, USR, Name, Loc,
178
+ std::move (Availabilities), Comment, Declaration,
179
+ SubHeading);
170
180
}
171
181
172
182
MacroDefinitionRecord *
@@ -178,13 +188,13 @@ APISet::addMacroDefinition(StringRef Name, StringRef USR, PresumedLoc Loc,
178
188
179
189
TypedefRecord *APISet::addTypedef (StringRef Name, StringRef USR,
180
190
PresumedLoc Loc,
181
- const AvailabilityInfo &Availability ,
191
+ AvailabilitySet Availabilities ,
182
192
const DocComment &Comment,
183
193
DeclarationFragments Declaration,
184
194
DeclarationFragments SubHeading,
185
195
SymbolReference UnderlyingType) {
186
- return addTopLevelRecord (Typedefs, USR, Name, Loc, Availability, Comment ,
187
- Declaration, SubHeading, UnderlyingType);
196
+ return addTopLevelRecord (Typedefs, USR, Name, Loc, std::move (Availabilities) ,
197
+ Comment, Declaration, SubHeading, UnderlyingType);
188
198
}
189
199
190
200
StringRef APISet::recordUSR (const Decl *D) {
0 commit comments