blob: 3f92990f36093e694e764da3a60361c0aea08415 [file] [log] [blame]
Ted Kremenek2ff3e692007-11-29 23:05:17 +00001//===--- ASTConsumer.cpp - Abstract interface for reading ASTs --*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
Chris Lattner0bc735f2007-12-29 19:59:25 +00005// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
Ted Kremenek2ff3e692007-11-29 23:05:17 +00007//
8//===----------------------------------------------------------------------===//
9//
10// This file defines the ASTConsumer class.
11//
12//===----------------------------------------------------------------------===//
13
14#include "clang/AST/ASTConsumer.h"
15#include "clang/AST/Decl.h"
Ted Kremeneke3a61982008-05-31 20:11:04 +000016#include "clang/AST/TranslationUnit.h"
17
Ted Kremenek2ff3e692007-11-29 23:05:17 +000018using namespace clang;
19
Chris Lattner8ee3c032008-02-06 02:01:47 +000020ASTConsumer::~ASTConsumer() {}
21
Ted Kremenek2ff3e692007-11-29 23:05:17 +000022void ASTConsumer::HandleTopLevelDeclaration(Decl* d) {
23 if (ScopedDecl* sd = dyn_cast<ScopedDecl>(d))
24 while (sd) {
25 HandleTopLevelDecl(sd);
26 sd = sd->getNextDeclarator();
27 }
28 else
29 HandleTopLevelDecl(d);
30}
Ted Kremeneke3a61982008-05-31 20:11:04 +000031
32void ASTConsumer::InitializeTU(TranslationUnit& TU) {
33 Initialize(TU.getContext());
34}