Lines Matching full:other

16 // all decls related to a given definition. All other fields are ignored in new
96 bool CommentInfo::operator==(const CommentInfo &Other) const {
100 std::tie(Other.Kind, Other.Text, Other.Name, Other.Direction,
101 Other.ParamName, Other.CloseName, Other.SelfClosing,
102 Other.Explicit, Other.AttrKeys, Other.AttrValues, Other.Args);
104 if (FirstCI != SecondCI || Children.size() != Other.Children.size())
107 return std::equal(Children.begin(), Children.end(), Other.Children.begin(),
111 bool CommentInfo::operator<(const CommentInfo &Other) const {
115 std::tie(Other.Kind, Other.Text, Other.Name, Other.Direction,
116 Other.ParamName, Other.CloseName, Other.SelfClosing,
117 Other.Explicit, Other.AttrKeys, Other.AttrValues, Other.Args);
124 Children.begin(), Children.end(), Other.Children.begin(),
125 Other.Children.end(), llvm::deref<std::less<>>());
177 bool Reference::mergeable(const Reference &Other) {
178 return RefType == Other.RefType && USR == Other.USR;
181 void Reference::merge(Reference &&Other) {
182 assert(mergeable(Other));
184 Name = Other.Name;
186 Path = Other.Path;
189 void Info::mergeBase(Info &&Other) {
190 assert(mergeable(Other));
192 USR = Other.USR;
194 Name = Other.Name;
196 Path = Other.Path;
198 Namespace = std::move(Other.Namespace);
200 std::move(Other.Description.begin(), Other.Description.end(),
207 bool Info::mergeable(const Info &Other) {
208 return IT == Other.IT && USR == Other.USR;
211 void SymbolInfo::merge(SymbolInfo &&Other) {
212 assert(mergeable(Other));
214 DefLoc = std::move(Other.DefLoc);
216 std::move(Other.Loc.begin(), Other.Loc.end(), std::back_inserter(Loc));
220 mergeBase(std::move(Other));
226 void NamespaceInfo::merge(NamespaceInfo &&Other) {
227 assert(mergeable(Other));
229 reduceChildren(Children.Namespaces, std::move(Other.Children.Namespaces));
230 reduceChildren(Children.Records, std::move(Other.Children.Records));
231 reduceChildren(Children.Functions, std::move(Other.Children.Functions));
232 reduceChildren(Children.Enums, std::move(Other.Children.Enums));
233 reduceChildren(Children.Typedefs, std::move(Other.Children.Typedefs));
234 mergeBase(std::move(Other));
240 void RecordInfo::merge(RecordInfo &&Other) {
241 assert(mergeable(Other));
243 TagType = Other.TagType;
244 IsTypeDef = IsTypeDef || Other.IsTypeDef;
246 Members = std::move(Other.Members);
248 Bases = std::move(Other.Bases);
250 Parents = std::move(Other.Parents);
252 VirtualParents = std::move(Other.VirtualParents);
254 reduceChildren(Children.Records, std::move(Other.Children.Records));
255 reduceChildren(Children.Functions, std::move(Other.Children.Functions));
256 reduceChildren(Children.Enums, std::move(Other.Children.Enums));
257 reduceChildren(Children.Typedefs, std::move(Other.Children.Typedefs));
258 SymbolInfo::merge(std::move(Other));
260 Template = Other.Template;
263 void EnumInfo::merge(EnumInfo &&Other) {
264 assert(mergeable(Other));
266 Scoped = Other.Scoped;
268 Members = std::move(Other.Members);
269 SymbolInfo::merge(std::move(Other));
272 void FunctionInfo::merge(FunctionInfo &&Other) {
273 assert(mergeable(Other));
275 IsMethod = Other.IsMethod;
277 Access = Other.Access;
279 ReturnType = std::move(Other.ReturnType);
281 Parent = std::move(Other.Parent);
283 Params = std::move(Other.Params);
284 SymbolInfo::merge(std::move(Other));
286 Template = Other.Template;
289 void TypedefInfo::merge(TypedefInfo &&Other) {
290 assert(mergeable(Other));
292 IsUsing = Other.IsUsing;
294 Underlying = Other.Underlying;
295 SymbolInfo::merge(std::move(Other));
342 bool Index::operator<(const Index &Other) const {
344 for (unsigned I = 0; I < Name.size() && I < Other.Name.size(); ++I) {
346 int D = tolower(Name[I]) - tolower(Other.Name[I]);
355 if (Name.size() == Other.Name.size())
356 return Name > Other.Name;
358 return Name.size() < Other.Name.size();