| 103 | return true; |
| 104 | |
| 105 | FOREACH_FUNCTION(const BaseClassInstance &b, self->baseClasses) |
| 106 | { |
| 107 | if (baseConversionLevels) |
| 108 | ++(*baseConversionLevels); |
| 109 | //qCDebug(LANGUAGE) << "public base of" << c->toString() << "is" << b.baseClass->toString(); |
| 110 | if (b.access != KDevelop::Declaration::Private) { |
| 111 | int nextBaseConversion = 0; |
| 112 | if (StructureType::Ptr c = b.baseClass.type<StructureType>()) { |
| 113 | auto* decl = dynamic_cast<ClassDeclaration*>(c->declaration(topContext)); |
| 114 | if (decl && |
| 115 | isPublicBaseClassInternal(decl, base, topContext, &nextBaseConversion, depth + 1, checked)) { |
| 116 | if (baseConversionLevels) |
| 117 | *baseConversionLevels += nextBaseConversion; |
| 118 | return true; |
| 119 | } |
| 120 | } |
| 121 | } |
| 122 | if (baseConversionLevels) |
| 123 | --(*baseConversionLevels); |
| 124 | } |
| 125 | return false; |
| 126 | } |
| 127 | } |
nothing calls this directly
no test coverage detected