jitcraft/Zone.cpp
changeset 45 25b995bc75a0
parent 26 a48382113da6
child 51 fb324242a675
     1.1 --- a/jitcraft/Zone.cpp	Tue Jul 03 08:30:09 2012 -0700
     1.2 +++ b/jitcraft/Zone.cpp	Tue Jul 03 09:25:18 2012 -0700
     1.3 @@ -1,4 +1,5 @@
     1.4 -/*
     1.5 +/* vim: set ts=4 sw=4 tw=99 et:
     1.6 + *
     1.7   * Copyright (C) 2012 David Anderson
     1.8   *
     1.9   * This file is part of JITCraft.
    1.10 @@ -71,3 +72,20 @@
    1.11      map->init(maps_[parent]);
    1.12      return map;
    1.13  }
    1.14 +
    1.15 +void
    1.16 +Zone::accept(VirtualObjectVisitor *visitor)
    1.17 +{
    1.18 +    for (unsigned i = 0; i < MapKinds_Total; i++)
    1.19 +        visitor->visit(maps_[i].address());
    1.20 +    types()->accept(visitor);
    1.21 +
    1.22 +    Local<Object> *local = lastLocalRoot_;
    1.23 +    while (local) {
    1.24 +        visitor->visit(local->address());
    1.25 +        local = local->prev();
    1.26 +    }
    1.27 +
    1.28 +    rootScopes_.accept(visitor);
    1.29 +}
    1.30 +