| 72 | } |
| 73 | |
| 74 | virtual void walk_tuple ( char * ps, TypeInfo * ti ) override { |
| 75 | beforeTuple(ps, ti); |
| 76 | int fieldOffset = 0; |
| 77 | for ( uint32_t i=0, is=ti->argCount; i!=is; ++i ) { |
| 78 | TypeInfo * vi = ti->argTypes[i]; |
| 79 | auto fa = getTypeAlign(vi) - 1; |
| 80 | fieldOffset = (fieldOffset + fa) & ~fa; |
| 81 | char * pf = ps + fieldOffset; |
| 82 | walk(pf, vi); |
| 83 | fieldOffset += vi->size; |
| 84 | } |
| 85 | afterTuple(ps, ti); |
| 86 | } |
| 87 | |
| 88 | virtual void walk_variant ( char * ps, TypeInfo * ti ) override { |
| 89 | beforeVariant(ps, ti); |
nothing calls this directly
no test coverage detected