Example #1
0
static void FindEntitiesInDC(DeclContext *DC, Program &Prog,
                             EntityHandler &Handler) {
  for (DeclContext::decl_iterator
         I = DC->decls_begin(), E = DC->decls_end(); I != E; ++I) {
    if (I->getLocation().isInvalid())
      continue;
    Entity Ent = Entity::get(*I, Prog);
    if (Ent.isValid())
      Handler.Handle(Ent);
    if (DeclContext *SubDC = dyn_cast<DeclContext>(*I))
      FindEntitiesInDC(SubDC, Prog, Handler);
  }
}