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