| 375 | return ((ti->firstType->flags | gcAlways) & gcFlags) || ((ti->secondType->flags | gcAlways) & gcFlags); |
| 376 | } |
| 377 | virtual void beforeArray ( Array * PA, TypeInfo * ti ) override { |
| 378 | auto tsize = ti->firstType->size * PA->capacity; |
| 379 | DAS_ASSERT(tsize==getTypeSize(ti->firstType)*PA->capacity); |
| 380 | char * pa = PA->data; |
| 381 | PtrRange rdata(pa, tsize); |
| 382 | if ( reportHeap && tsize && markRange(rdata) ) { |
| 383 | if ( describe_ptr(pa, tsize) ) { |
| 384 | describeInfo(ti); |
| 385 | ReportHistory(); |
| 386 | tp << "ARRAY " << getTypeInfoMangledName(ti) << "\n"; |
| 387 | } |
| 388 | } |
| 389 | pushRange(rdata); |
| 390 | } |
| 391 | virtual void afterArray ( Array *, TypeInfo * ) override { |
| 392 | popRange(); |
| 393 | } |
nothing calls this directly
no test coverage detected