1212795Sdim//===--- ParseAST.h - Define the ParseAST method ----------------*- C++ -*-===// 2212795Sdim// 3212795Sdim// The LLVM Compiler Infrastructure 4212795Sdim// 5212795Sdim// This file is distributed under the University of Illinois Open Source 6212795Sdim// License. See LICENSE.TXT for details. 7212795Sdim// 8212795Sdim//===----------------------------------------------------------------------===// 9212795Sdim// 10212795Sdim// This file defines the clang::ParseAST method. 11212795Sdim// 12212795Sdim//===----------------------------------------------------------------------===// 13212795Sdim 14212795Sdim#ifndef LLVM_CLANG_PARSE_PARSEAST_H 15212795Sdim#define LLVM_CLANG_PARSE_PARSEAST_H 16212795Sdim 17226633Sdim#include "clang/Basic/LangOptions.h" 18226633Sdim 19212795Sdimnamespace clang { 20212795Sdim class Preprocessor; 21212795Sdim class ASTConsumer; 22212795Sdim class ASTContext; 23212795Sdim class CodeCompleteConsumer; 24212795Sdim class Sema; 25212795Sdim 26212795Sdim /// \brief Parse the entire file specified, notifying the ASTConsumer as 27212795Sdim /// the file is parsed. 28212795Sdim /// 29212795Sdim /// This operation inserts the parsed decls into the translation 30212795Sdim /// unit held by Ctx. 31212795Sdim /// 32226633Sdim /// \param TUKind The kind of translation unit being parsed. 33212795Sdim /// 34212795Sdim /// \param CompletionConsumer If given, an object to consume code completion 35212795Sdim /// results. 36212795Sdim void ParseAST(Preprocessor &pp, ASTConsumer *C, 37212795Sdim ASTContext &Ctx, bool PrintStats = false, 38226633Sdim TranslationUnitKind TUKind = TU_Complete, 39234353Sdim CodeCompleteConsumer *CompletionConsumer = 0, 40234353Sdim bool SkipFunctionBodies = false); 41212795Sdim 42212795Sdim /// \brief Parse the main file known to the preprocessor, producing an 43212795Sdim /// abstract syntax tree. 44234353Sdim void ParseAST(Sema &S, bool PrintStats = false, 45234353Sdim bool SkipFunctionBodies = false); 46212795Sdim 47212795Sdim} // end namespace clang 48212795Sdim 49212795Sdim#endif 50