| 293 | } |
| 294 | |
| 295 | Structure * findChainCtorAncestor ( Structure * cls ) { |
| 296 | if ( !cls || !cls->isClass || !cls->parent ) return nullptr; |
| 297 | for ( auto * anc = cls->parent; anc; anc = anc->parent ) { |
| 298 | if ( anc->hasUserConstructor() ) return anc; |
| 299 | } |
| 300 | return nullptr; |
| 301 | } |
| 302 | |
| 303 | Structure * findChainFinalizerAncestor ( Structure * cls ) { |
| 304 | if ( !cls || !cls->isClass || !cls->parent ) return nullptr; |
no test coverage detected