Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:36:58

0001 //===--- ParseAST.h - Define the ParseAST method ----------------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 //
0009 //  This file defines the clang::ParseAST method.
0010 //
0011 //===----------------------------------------------------------------------===//
0012 
0013 #ifndef LLVM_CLANG_PARSE_PARSEAST_H
0014 #define LLVM_CLANG_PARSE_PARSEAST_H
0015 
0016 #include "clang/Basic/LangOptions.h"
0017 
0018 namespace clang {
0019   class Preprocessor;
0020   class ASTConsumer;
0021   class ASTContext;
0022   class CodeCompleteConsumer;
0023   class Sema;
0024 
0025   /// Parse the entire file specified, notifying the ASTConsumer as
0026   /// the file is parsed.
0027   ///
0028   /// This operation inserts the parsed decls into the translation
0029   /// unit held by Ctx.
0030   ///
0031   /// \param PrintStats Whether to print LLVM statistics related to parsing.
0032   /// \param TUKind The kind of translation unit being parsed.
0033   /// \param CompletionConsumer If given, an object to consume code completion
0034   /// results.
0035   /// \param SkipFunctionBodies Whether to skip parsing of function bodies.
0036   /// This option can be used, for example, to speed up searches for
0037   /// declarations/definitions when indexing.
0038   void ParseAST(Preprocessor &pp, ASTConsumer *C,
0039                 ASTContext &Ctx, bool PrintStats = false,
0040                 TranslationUnitKind TUKind = TU_Complete,
0041                 CodeCompleteConsumer *CompletionConsumer = nullptr,
0042                 bool SkipFunctionBodies = false);
0043 
0044   /// Parse the main file known to the preprocessor, producing an
0045   /// abstract syntax tree.
0046   void ParseAST(Sema &S, bool PrintStats = false,
0047                 bool SkipFunctionBodies = false);
0048 
0049 }  // end namespace clang
0050 
0051 #endif