#include "clang/Frontend/MultiplexConsumer.h"
#include "clang/AST/ASTMutationListener.h"
#include "clang/AST/DeclGroup.h"
usingnamespaceclang;
namespace clang {
class NamespaceDecl;
class TranslationUnitDecl;
MultiplexASTDeserializationListener::MultiplexASTDeserializationListener(
const std::vector<ASTDeserializationListener*>& L)
: … { … }
void MultiplexASTDeserializationListener::ReaderInitialized(
ASTReader *Reader) { … }
void MultiplexASTDeserializationListener::IdentifierRead(
serialization::IdentifierID ID, IdentifierInfo *II) { … }
void MultiplexASTDeserializationListener::MacroRead(
serialization::MacroID ID, MacroInfo *MI) { … }
void MultiplexASTDeserializationListener::TypeRead(
serialization::TypeIdx Idx, QualType T) { … }
void MultiplexASTDeserializationListener::DeclRead(GlobalDeclID ID,
const Decl *D) { … }
void MultiplexASTDeserializationListener::PredefinedDeclBuilt(PredefinedDeclIDs ID, const Decl *D) { … }
void MultiplexASTDeserializationListener::SelectorRead(
serialization::SelectorID ID, Selector Sel) { … }
void MultiplexASTDeserializationListener::MacroDefinitionRead(
serialization::PreprocessedEntityID ID, MacroDefinitionRecord *MD) { … }
void MultiplexASTDeserializationListener::ModuleRead(
serialization::SubmoduleID ID, Module *Mod) { … }
void MultiplexASTDeserializationListener::ModuleImportRead(
serialization::SubmoduleID ID, SourceLocation ImportLoc) { … }
class MultiplexASTMutationListener : public ASTMutationListener { … };
MultiplexASTMutationListener::MultiplexASTMutationListener(
ArrayRef<ASTMutationListener*> L)
: … { … }
void MultiplexASTMutationListener::CompletedTagDefinition(const TagDecl *D) { … }
void MultiplexASTMutationListener::AddedVisibleDecl(
const DeclContext *DC, const Decl *D) { … }
void MultiplexASTMutationListener::AddedCXXImplicitMember(
const CXXRecordDecl *RD, const Decl *D) { … }
void MultiplexASTMutationListener::AddedCXXTemplateSpecialization(
const ClassTemplateDecl *TD, const ClassTemplateSpecializationDecl *D) { … }
void MultiplexASTMutationListener::AddedCXXTemplateSpecialization(
const VarTemplateDecl *TD, const VarTemplateSpecializationDecl *D) { … }
void MultiplexASTMutationListener::AddedCXXTemplateSpecialization(
const FunctionTemplateDecl *TD, const FunctionDecl *D) { … }
void MultiplexASTMutationListener::ResolvedExceptionSpec(
const FunctionDecl *FD) { … }
void MultiplexASTMutationListener::DeducedReturnType(const FunctionDecl *FD,
QualType ReturnType) { … }
void MultiplexASTMutationListener::ResolvedOperatorDelete(
const CXXDestructorDecl *DD, const FunctionDecl *Delete, Expr *ThisArg) { … }
void MultiplexASTMutationListener::CompletedImplicitDefinition(
const FunctionDecl *D) { … }
void MultiplexASTMutationListener::InstantiationRequested(const ValueDecl *D) { … }
void MultiplexASTMutationListener::VariableDefinitionInstantiated(
const VarDecl *D) { … }
void MultiplexASTMutationListener::FunctionDefinitionInstantiated(
const FunctionDecl *D) { … }
void MultiplexASTMutationListener::DefaultArgumentInstantiated(
const ParmVarDecl *D) { … }
void MultiplexASTMutationListener::DefaultMemberInitializerInstantiated(
const FieldDecl *D) { … }
void MultiplexASTMutationListener::AddedObjCCategoryToInterface(
const ObjCCategoryDecl *CatD,
const ObjCInterfaceDecl *IFD) { … }
void MultiplexASTMutationListener::DeclarationMarkedUsed(const Decl *D) { … }
void MultiplexASTMutationListener::DeclarationMarkedOpenMPThreadPrivate(
const Decl *D) { … }
void MultiplexASTMutationListener::DeclarationMarkedOpenMPAllocate(
const Decl *D, const Attr *A) { … }
void MultiplexASTMutationListener::DeclarationMarkedOpenMPDeclareTarget(
const Decl *D, const Attr *Attr) { … }
void MultiplexASTMutationListener::RedefinedHiddenDefinition(const NamedDecl *D,
Module *M) { … }
void MultiplexASTMutationListener::AddedAttributeToRecord(
const Attr *Attr,
const RecordDecl *Record) { … }
void MultiplexASTMutationListener::EnteringModulePurview() { … }
void MultiplexASTMutationListener::AddedManglingNumber(const Decl *D,
unsigned Number) { … }
void MultiplexASTMutationListener::AddedStaticLocalNumbers(const Decl *D,
unsigned Number) { … }
void MultiplexASTMutationListener::AddedAnonymousNamespace(
const TranslationUnitDecl *TU, NamespaceDecl *AnonNamespace) { … }
}
MultiplexConsumer::MultiplexConsumer(
std::vector<std::unique_ptr<ASTConsumer>> C)
: … { … }
MultiplexConsumer::MultiplexConsumer(std::unique_ptr<ASTConsumer> C)
: … { … }
MultiplexConsumer::~MultiplexConsumer() { … }
void MultiplexConsumer::Initialize(ASTContext &Context) { … }
bool MultiplexConsumer::HandleTopLevelDecl(DeclGroupRef D) { … }
void MultiplexConsumer::HandleInlineFunctionDefinition(FunctionDecl *D) { … }
void MultiplexConsumer::HandleCXXStaticMemberVarInstantiation(VarDecl *VD) { … }
void MultiplexConsumer::HandleInterestingDecl(DeclGroupRef D) { … }
void MultiplexConsumer::HandleTranslationUnit(ASTContext &Ctx) { … }
void MultiplexConsumer::HandleTagDeclDefinition(TagDecl *D) { … }
void MultiplexConsumer::HandleTagDeclRequiredDefinition(const TagDecl *D) { … }
void MultiplexConsumer::HandleCXXImplicitFunctionInstantiation(FunctionDecl *D){ … }
void MultiplexConsumer::HandleTopLevelDeclInObjCContainer(DeclGroupRef D) { … }
void MultiplexConsumer::HandleImplicitImportDecl(ImportDecl *D) { … }
void MultiplexConsumer::CompleteTentativeDefinition(VarDecl *D) { … }
void MultiplexConsumer::CompleteExternalDeclaration(DeclaratorDecl *D) { … }
void MultiplexConsumer::AssignInheritanceModel(CXXRecordDecl *RD) { … }
void MultiplexConsumer::HandleVTable(CXXRecordDecl *RD) { … }
ASTMutationListener *MultiplexConsumer::GetASTMutationListener() { … }
ASTDeserializationListener *MultiplexConsumer::GetASTDeserializationListener() { … }
void MultiplexConsumer::PrintStats() { … }
bool MultiplexConsumer::shouldSkipFunctionBody(Decl *D) { … }
void MultiplexConsumer::InitializeSema(Sema &S) { … }
void MultiplexConsumer::ForgetSema() { … }