MCPcopy Create free account
hub / github.com/GaijinEntertainment/daScript / walk_struct

Method walk_struct

src/simulate/simulate_gc.cpp:56–72  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

54 }
55
56 virtual void walk_struct ( char * ps, StructInfo * si ) override {
57 if ( ps && (si->flags & StructInfo::flag_class) ) {
58 auto ti = *(TypeInfo **) ps;
59 DAS_ASSERT(ti);
60 si = ti->structType;
61 }
62 if ( canVisitStructure_(ps, si) ) {
63 beforeStructure_(ps, si);
64 for ( uint32_t i=si->firstGcField, is=si->count; i!=is; ) {
65 VarInfo * vi = si->fields[i];
66 char * pf = ps + vi->offset;
67 walk(pf, vi);
68 i = vi->nextGcField;
69 }
70 afterStructure_(ps, si);
71 }
72 }
73
74 virtual void walk_tuple ( char * ps, TypeInfo * ti ) override {
75 beforeTuple(ps, ti);

Callers

nothing calls this directly

Calls 4

canVisitStructure_Function · 0.85
beforeStructure_Function · 0.85
walkFunction · 0.85
afterStructure_Function · 0.85

Tested by

no test coverage detected