@@ -196,7 +196,6 @@ void SymbolGraph::recordNode(Symbol S) {
196
196
// with this declaration.
197
197
recordMemberRelationship (S);
198
198
recordConformanceSynthesizedMemberRelationships (S);
199
- recordSuperclassSynthesizedMemberRelationships (S);
200
199
recordConformanceRelationships (S);
201
200
recordInheritanceRelationships (S);
202
201
recordDefaultImplementationRelationships (S);
@@ -259,45 +258,6 @@ void SymbolGraph::recordMemberRelationship(Symbol S) {
259
258
}
260
259
}
261
260
262
- void SymbolGraph::recordSuperclassSynthesizedMemberRelationships (Symbol S) {
263
- if (!Walker.Options .EmitSynthesizedMembers ) {
264
- return ;
265
- }
266
- // Via class inheritance...
267
- if (const auto *C = dyn_cast<ClassDecl>(S.getSymbolDecl ())) {
268
- // Collect all superclass members up the inheritance chain.
269
- SmallPtrSet<const ValueDecl *, 32 > SuperClassMembers;
270
- const auto *Super = C->getSuperclassDecl ();
271
- while (Super) {
272
- for (const auto *SuperMember : Super->getMembers ()) {
273
- if (const auto *SuperMemberVD = dyn_cast<ValueDecl>(SuperMember)) {
274
- SuperClassMembers.insert (SuperMemberVD);
275
- }
276
- }
277
- Super = Super->getSuperclassDecl ();
278
- }
279
- // Remove any that are overridden by this class.
280
- for (const auto *DerivedMember : C->getMembers ()) {
281
- if (const auto *DerivedMemberVD = dyn_cast<ValueDecl>(DerivedMember)) {
282
- if (const auto *Overridden = DerivedMemberVD->getOverriddenDecl ()) {
283
- SuperClassMembers.erase (Overridden);
284
- }
285
- }
286
- }
287
- // What remains in SuperClassMembers are inherited members that
288
- // haven't been overridden by the class.
289
- // Add a synthesized relationship.
290
- for (const auto *InheritedMember : SuperClassMembers) {
291
- if (canIncludeDeclAsNode (InheritedMember)) {
292
- Symbol Source (this , InheritedMember, C);
293
- Symbol Target (this , C, nullptr );
294
- Nodes.insert (Source);
295
- recordEdge (Source, Target, RelationshipKind::MemberOf ());
296
- }
297
- }
298
- }
299
- }
300
-
301
261
bool SymbolGraph::synthesizedMemberIsBestCandidate (const ValueDecl *VD,
302
262
const NominalTypeDecl *Owner) const {
303
263
const auto *FD = dyn_cast<FuncDecl>(VD);
0 commit comments