ParseAST.h revision 234353
16059Samurai//===--- ParseAST.h - Define the ParseAST method ----------------*- C++ -*-===//
26059Samurai//
36059Samurai//                     The LLVM Compiler Infrastructure
46059Samurai//
56059Samurai// This file is distributed under the University of Illinois Open Source
66059Samurai// License. See LICENSE.TXT for details.
76059Samurai//
86059Samurai//===----------------------------------------------------------------------===//
96059Samurai//
106059Samurai//  This file defines the clang::ParseAST method.
116059Samurai//
126059Samurai//===----------------------------------------------------------------------===//
136059Samurai
146059Samurai#ifndef LLVM_CLANG_PARSE_PARSEAST_H
156059Samurai#define LLVM_CLANG_PARSE_PARSEAST_H
166059Samurai
176059Samurai#include "clang/Basic/LangOptions.h"
186059Samurai
196059Samurainamespace clang {
206059Samurai  class Preprocessor;
216735Samurai  class ASTConsumer;
226059Samurai  class ASTContext;
236059Samurai  class CodeCompleteConsumer;
246059Samurai  class Sema;
256059Samurai
266059Samurai  /// \brief Parse the entire file specified, notifying the ASTConsumer as
276059Samurai  /// the file is parsed.
286059Samurai  ///
296059Samurai  /// This operation inserts the parsed decls into the translation
306059Samurai  /// unit held by Ctx.
316059Samurai  ///
326059Samurai  /// \param TUKind The kind of translation unit being parsed.
336059Samurai  ///
346735Samurai  /// \param CompletionConsumer If given, an object to consume code completion
356059Samurai  /// results.
366059Samurai  void ParseAST(Preprocessor &pp, ASTConsumer *C,
376059Samurai                ASTContext &Ctx, bool PrintStats = false,
386059Samurai                TranslationUnitKind TUKind = TU_Complete,
396059Samurai                CodeCompleteConsumer *CompletionConsumer = 0,
406059Samurai                bool SkipFunctionBodies = false);
416059Samurai
426059Samurai  /// \brief Parse the main file known to the preprocessor, producing an
436059Samurai  /// abstract syntax tree.
446059Samurai  void ParseAST(Sema &S, bool PrintStats = false,
456059Samurai                bool SkipFunctionBodies = false);
466059Samurai
476059Samurai}  // end namespace clang
486059Samurai
496059Samurai#endif
506059Samurai