| 301 | } |
| 302 | |
| 303 | Structure * findChainFinalizerAncestor ( Structure * cls ) { |
| 304 | if ( !cls || !cls->isClass || !cls->parent ) return nullptr; |
| 305 | for ( auto * anc = cls->parent; anc; anc = anc->parent ) { |
| 306 | if ( anc->hasUserFinalizer() ) return anc; |
| 307 | } |
| 308 | return nullptr; |
| 309 | } |
| 310 | |
| 311 | // return [[t()]] -- or, for a class derived from a parent with a user ctor, |
| 312 | // emit the let-self / call Parent`Parent(self) / return self chain body. |
no test coverage detected