clang  6.0.0svn
Public Member Functions | Protected Member Functions | List of all members
clang::PCHGenerator Class Reference

AST and semantic-analysis consumer that generates a precompiled header from the parsed source code. More...

#include "clang/Serialization/ASTWriter.h"

Inheritance diagram for clang::PCHGenerator:
Inheritance graph
[legend]
Collaboration diagram for clang::PCHGenerator:
Collaboration graph
[legend]

Public Member Functions

 PCHGenerator (const Preprocessor &PP, StringRef OutputFile, StringRef isysroot, std::shared_ptr< PCHBuffer > Buffer, ArrayRef< std::shared_ptr< ModuleFileExtension >> Extensions, bool AllowASTWithErrors=false, bool IncludeTimestamps=true)
 
 ~PCHGenerator () override
 
void InitializeSema (Sema &S) override
 Initialize the semantic consumer with the Sema instance being used to perform semantic analysis on the abstract syntax tree. More...
 
void HandleTranslationUnit (ASTContext &Ctx) override
 HandleTranslationUnit - This method is called when the ASTs for entire translation unit have been parsed. More...
 
ASTMutationListenerGetASTMutationListener () override
 If the consumer is interested in entities getting modified after their initial creation, it should return a pointer to an ASTMutationListener here. More...
 
ASTDeserializationListenerGetASTDeserializationListener () override
 If the consumer is interested in entities being deserialized from AST files, it should return a pointer to a ASTDeserializationListener here. More...
 
bool hasEmittedPCH () const
 
- Public Member Functions inherited from clang::SemaConsumer
 SemaConsumer ()
 
virtual void ForgetSema ()
 Inform the semantic consumer that Sema is no longer available. More...
 
- Public Member Functions inherited from clang::ASTConsumer
 ASTConsumer ()
 
virtual ~ASTConsumer ()
 
virtual void Initialize (ASTContext &Context)
 Initialize - This is called to initialize the consumer, providing the ASTContext. More...
 
virtual bool HandleTopLevelDecl (DeclGroupRef D)
 HandleTopLevelDecl - Handle the specified top-level declaration. More...
 
virtual void HandleInlineFunctionDefinition (FunctionDecl *D)
 This callback is invoked each time an inline (method or friend) function definition in a class is completed. More...
 
virtual void HandleInterestingDecl (DeclGroupRef D)
 HandleInterestingDecl - Handle the specified interesting declaration. More...
 
virtual void HandleTagDeclDefinition (TagDecl *D)
 HandleTagDeclDefinition - This callback is invoked each time a TagDecl (e.g. More...
 
virtual void HandleTagDeclRequiredDefinition (const TagDecl *D)
 This callback is invoked the first time each TagDecl is required to be complete. More...
 
virtual void HandleCXXImplicitFunctionInstantiation (FunctionDecl *D)
 Invoked when a function is implicitly instantiated. More...
 
virtual void HandleTopLevelDeclInObjCContainer (DeclGroupRef D)
 Handle the specified top-level declaration that occurred inside and ObjC container. More...
 
virtual void HandleImplicitImportDecl (ImportDecl *D)
 Handle an ImportDecl that was implicitly created due to an inclusion directive. More...
 
virtual void CompleteTentativeDefinition (VarDecl *D)
 CompleteTentativeDefinition - Callback invoked at the end of a translation unit to notify the consumer that the given tentative definition should be completed. More...
 
virtual void AssignInheritanceModel (CXXRecordDecl *RD)
 Callback invoked when an MSInheritanceAttr has been attached to a CXXRecordDecl. More...
 
virtual void HandleCXXStaticMemberVarInstantiation (VarDecl *D)
 HandleCXXStaticMemberVarInstantiation - Tell the consumer that this. More...
 
virtual void HandleVTable (CXXRecordDecl *RD)
 Callback involved at the end of a translation unit to notify the consumer that a vtable for the given C++ class is required. More...
 
virtual void PrintStats ()
 PrintStats - If desired, print any statistics. More...
 
virtual bool shouldSkipFunctionBody (Decl *D)
 This callback is called for each function if the Parser was initialized with SkipFunctionBodies set to true. More...
 

Protected Member Functions

ASTWritergetWriter ()
 
const ASTWritergetWriter () const
 
SmallVectorImpl< char > & getPCH () const
 

Additional Inherited Members

- Static Public Member Functions inherited from clang::SemaConsumer
static bool classof (const ASTConsumer *Consumer)
 

Detailed Description

AST and semantic-analysis consumer that generates a precompiled header from the parsed source code.

Definition at line 965 of file ASTWriter.h.

Constructor & Destructor Documentation

◆ PCHGenerator()

PCHGenerator::PCHGenerator ( const Preprocessor PP,
StringRef  OutputFile,
StringRef  isysroot,
std::shared_ptr< PCHBuffer Buffer,
ArrayRef< std::shared_ptr< ModuleFileExtension >>  Extensions,
bool  AllowASTWithErrors = false,
bool  IncludeTimestamps = true 
)

Definition at line 24 of file GeneratePCH.cpp.

◆ ~PCHGenerator()

PCHGenerator::~PCHGenerator ( )
override

Definition at line 37 of file GeneratePCH.cpp.

Member Function Documentation

◆ GetASTDeserializationListener()

ASTDeserializationListener * PCHGenerator::GetASTDeserializationListener ( )
overridevirtual

If the consumer is interested in entities being deserialized from AST files, it should return a pointer to a ASTDeserializationListener here.

Reimplemented from clang::ASTConsumer.

Definition at line 74 of file GeneratePCH.cpp.

◆ GetASTMutationListener()

ASTMutationListener * PCHGenerator::GetASTMutationListener ( )
overridevirtual

If the consumer is interested in entities getting modified after their initial creation, it should return a pointer to an ASTMutationListener here.

Reimplemented from clang::ASTConsumer.

Definition at line 70 of file GeneratePCH.cpp.

◆ getPCH()

SmallVectorImpl<char>& clang::PCHGenerator::getPCH ( ) const
inlineprotected

Definition at line 978 of file ASTWriter.h.

◆ getWriter() [1/2]

ASTWriter& clang::PCHGenerator::getWriter ( )
inlineprotected

Definition at line 976 of file ASTWriter.h.

◆ getWriter() [2/2]

const ASTWriter& clang::PCHGenerator::getWriter ( ) const
inlineprotected

Definition at line 977 of file ASTWriter.h.

◆ HandleTranslationUnit()

void PCHGenerator::HandleTranslationUnit ( ASTContext Ctx)
overridevirtual

◆ hasEmittedPCH()

bool clang::PCHGenerator::hasEmittedPCH ( ) const
inline

Definition at line 991 of file ASTWriter.h.

◆ InitializeSema()

void clang::PCHGenerator::InitializeSema ( Sema S)
inlineoverridevirtual

Initialize the semantic consumer with the Sema instance being used to perform semantic analysis on the abstract syntax tree.

Reimplemented from clang::SemaConsumer.

Definition at line 987 of file ASTWriter.h.


The documentation for this class was generated from the following files: