clang
3.7.0
|
Writes an AST file containing the contents of a translation unit. More...
#include <ASTWriter.h>
Public Types | |
typedef SmallVector< uint64_t, 64 > | RecordData |
typedef SmallVectorImpl< uint64_t > | RecordDataImpl |
Public Member Functions | |
ASTWriter (llvm::BitstreamWriter &Stream) | |
Create a new precompiled header writer that outputs to the given bitstream. More... | |
~ASTWriter () override | |
const LangOptions & | getLangOpts () const |
void | WriteAST (Sema &SemaRef, const std::string &OutputFile, Module *WritingModule, StringRef isysroot, bool hasErrors=false) |
Write a precompiled header for the given semantic analysis. More... | |
void | AddToken (const Token &Tok, RecordDataImpl &Record) |
Emit a token. More... | |
void | AddSourceLocation (SourceLocation Loc, RecordDataImpl &Record) |
Emit a source location. More... | |
void | AddSourceRange (SourceRange Range, RecordDataImpl &Record) |
Emit a source range. More... | |
void | AddAPInt (const llvm::APInt &Value, RecordDataImpl &Record) |
Emit an integral value. More... | |
void | AddAPSInt (const llvm::APSInt &Value, RecordDataImpl &Record) |
Emit a signed integral value. More... | |
void | AddAPFloat (const llvm::APFloat &Value, RecordDataImpl &Record) |
Emit a floating-point value. More... | |
void | AddIdentifierRef (const IdentifierInfo *II, RecordDataImpl &Record) |
Emit a reference to an identifier. More... | |
void | AddSelectorRef (Selector, RecordDataImpl &Record) |
Emit a Selector (which is a smart pointer reference). More... | |
void | AddCXXTemporary (const CXXTemporary *Temp, RecordDataImpl &Record) |
Emit a CXXTemporary. More... | |
void | AddCXXBaseSpecifiersRef (CXXBaseSpecifier const *Bases, CXXBaseSpecifier const *BasesEnd, RecordDataImpl &Record) |
Emit a set of C++ base specifiers to the record. More... | |
serialization::SelectorID | getSelectorRef (Selector Sel) |
Get the unique number used to refer to the given selector. More... | |
serialization::IdentID | getIdentifierRef (const IdentifierInfo *II) |
Get the unique number used to refer to the given identifier. More... | |
serialization::MacroID | getMacroRef (MacroInfo *MI, const IdentifierInfo *Name) |
Get the unique number used to refer to the given macro. More... | |
serialization::MacroID | getMacroID (MacroInfo *MI) |
Determine the ID of an already-emitted macro. More... | |
uint64_t | getMacroDirectivesOffset (const IdentifierInfo *Name) |
void | AddTypeRef (QualType T, RecordDataImpl &Record) |
Emit a reference to a type. More... | |
serialization::TypeID | GetOrCreateTypeID (QualType T) |
Force a type to be emitted and get its ID. More... | |
serialization::TypeID | getTypeID (QualType T) const |
Determine the type ID of an already-emitted type. More... | |
void | AddTypeSourceInfo (TypeSourceInfo *TInfo, RecordDataImpl &Record) |
Emits a reference to a declarator info. More... | |
void | AddTypeLoc (TypeLoc TL, RecordDataImpl &Record) |
Emits a type with source-location information. More... | |
void | AddTemplateArgumentLocInfo (TemplateArgument::ArgKind Kind, const TemplateArgumentLocInfo &Arg, RecordDataImpl &Record) |
Emits a template argument location info. More... | |
void | AddTemplateArgumentLoc (const TemplateArgumentLoc &Arg, RecordDataImpl &Record) |
Emits a template argument location. More... | |
void | AddASTTemplateArgumentListInfo (const ASTTemplateArgumentListInfo *ASTTemplArgList, RecordDataImpl &Record) |
Emits an AST template argument list info. More... | |
void | AddDeclRef (const Decl *D, RecordDataImpl &Record) |
Emit a reference to a declaration. More... | |
serialization::DeclID | GetDeclRef (const Decl *D) |
Force a declaration to be emitted and get its ID. More... | |
serialization::DeclID | getDeclID (const Decl *D) |
Determine the declaration ID of an already-emitted declaration. More... | |
void | AddDeclarationName (DeclarationName Name, RecordDataImpl &Record) |
Emit a declaration name. More... | |
void | AddDeclarationNameLoc (const DeclarationNameLoc &DNLoc, DeclarationName Name, RecordDataImpl &Record) |
void | AddDeclarationNameInfo (const DeclarationNameInfo &NameInfo, RecordDataImpl &Record) |
unsigned | getAnonymousDeclarationNumber (const NamedDecl *D) |
void | AddQualifierInfo (const QualifierInfo &Info, RecordDataImpl &Record) |
void | AddNestedNameSpecifier (NestedNameSpecifier *NNS, RecordDataImpl &Record) |
Emit a nested name specifier. More... | |
void | AddNestedNameSpecifierLoc (NestedNameSpecifierLoc NNS, RecordDataImpl &Record) |
Emit a nested name specifier with source-location information. More... | |
void | AddTemplateName (TemplateName Name, RecordDataImpl &Record) |
Emit a template name. More... | |
void | AddTemplateArgument (const TemplateArgument &Arg, RecordDataImpl &Record) |
Emit a template argument. More... | |
void | AddTemplateParameterList (const TemplateParameterList *TemplateParams, RecordDataImpl &Record) |
Emit a template parameter list. More... | |
void | AddTemplateArgumentList (const TemplateArgumentList *TemplateArgs, RecordDataImpl &Record) |
Emit a template argument list. More... | |
void | AddUnresolvedSet (const ASTUnresolvedSet &Set, RecordDataImpl &Record) |
Emit a UnresolvedSet structure. More... | |
void | AddCXXBaseSpecifier (const CXXBaseSpecifier &Base, RecordDataImpl &Record) |
Emit a C++ base specifier. More... | |
void | AddCXXCtorInitializersRef (ArrayRef< CXXCtorInitializer * > Inits, RecordDataImpl &Record) |
Emit the ID for a CXXCtorInitializer array and register the array for later serialization. More... | |
void | AddCXXCtorInitializers (const CXXCtorInitializer *const *CtorInitializers, unsigned NumCtorInitializers, RecordDataImpl &Record) |
Emit a CXXCtorInitializer array. More... | |
void | AddCXXDefinitionData (const CXXRecordDecl *D, RecordDataImpl &Record) |
void | AddString (StringRef Str, RecordDataImpl &Record) |
Add a string to the given record. More... | |
bool | PreparePathForOutput (SmallVectorImpl< char > &Path) |
Convert a path from this build process into one that is appropriate for emission in the module file. More... | |
void | AddPath (StringRef Path, RecordDataImpl &Record) |
Add a path to the given record. More... | |
void | EmitRecordWithPath (unsigned Abbrev, RecordDataImpl &Record, StringRef Path) |
Emit the current record with the given path as a blob. More... | |
void | AddVersionTuple (const VersionTuple &Version, RecordDataImpl &Record) |
Add a version tuple to the given record. More... | |
void | RewriteDecl (const Decl *D) |
bool | isRewritten (const Decl *D) const |
serialization::SubmoduleID | inferSubmoduleIDFromLocation (SourceLocation Loc) |
Infer the submodule ID that contains an entity at the given source location. More... | |
unsigned | getExistingSubmoduleID (Module *Mod) const |
Retrieve a submodule ID for this module. Returns 0 If no ID has been associated with the module. More... | |
void | SetIdentifierOffset (const IdentifierInfo *II, uint32_t Offset) |
Note that the identifier II occurs at the given offset within the identifier table. More... | |
void | SetSelectorOffset (Selector Sel, uint32_t Offset) |
Note that the selector Sel occurs at the given offset within the method pool/selector table. More... | |
void | AddStmt (Stmt *S) |
Add the given statement or expression to the queue of statements to emit. More... | |
void | FlushStmts () |
Flush all of the statements and expressions that have been added to the queue via AddStmt(). More... | |
void | FlushCXXBaseSpecifiers () |
Flush all of the C++ base specifier sets that have been added via AddCXXBaseSpecifiersRef() . More... | |
void | FlushCXXCtorInitializers () |
Flush all of the C++ constructor initializer lists that have been added via AddCXXCtorInitializersRef() . More... | |
void | FlushPendingAfterDecl () |
Flush all pending records that are tacked onto the end of decl and decl update records. More... | |
unsigned | RecordSwitchCaseID (SwitchCase *S) |
Record an ID for the given switch-case statement. More... | |
unsigned | getSwitchCaseID (SwitchCase *S) |
Retrieve the ID for the given switch-case statement. More... | |
void | ClearSwitchCaseIDs () |
unsigned | getTypeExtQualAbbrev () const |
unsigned | getTypeFunctionProtoAbbrev () const |
unsigned | getDeclParmVarAbbrev () const |
unsigned | getDeclRecordAbbrev () const |
unsigned | getDeclTypedefAbbrev () const |
unsigned | getDeclVarAbbrev () const |
unsigned | getDeclFieldAbbrev () const |
unsigned | getDeclEnumAbbrev () const |
unsigned | getDeclObjCIvarAbbrev () const |
unsigned | getDeclCXXMethodAbbrev () const |
unsigned | getDeclRefExprAbbrev () const |
unsigned | getCharacterLiteralAbbrev () const |
unsigned | getIntegerLiteralAbbrev () const |
unsigned | getExprImplicitCastAbbrev () const |
bool | hasChain () const |
void | ReaderInitialized (ASTReader *Reader) override |
The ASTReader was initialized. More... | |
void | IdentifierRead (serialization::IdentID ID, IdentifierInfo *II) override |
An identifier was deserialized from the AST file. More... | |
void | MacroRead (serialization::MacroID ID, MacroInfo *MI) override |
A macro was read from the AST file. More... | |
void | TypeRead (serialization::TypeIdx Idx, QualType T) override |
A type was deserialized from the AST file. The ID here has the qualifier bits already removed, and T is guaranteed to be locally unqualified. More... | |
void | SelectorRead (serialization::SelectorID ID, Selector Sel) override |
A selector was read from the AST file. More... | |
void | MacroDefinitionRead (serialization::PreprocessedEntityID ID, MacroDefinitionRecord *MD) override |
A macro definition was read from the AST file. More... | |
void | ModuleRead (serialization::SubmoduleID ID, Module *Mod) override |
A module definition was read from the AST file. More... | |
void | CompletedTagDefinition (const TagDecl *D) override |
A new TagDecl definition was completed. More... | |
void | AddedVisibleDecl (const DeclContext *DC, const Decl *D) override |
A new declaration with name has been added to a DeclContext. More... | |
void | AddedCXXImplicitMember (const CXXRecordDecl *RD, const Decl *D) override |
An implicit member was added after the definition was completed. More... | |
void | AddedCXXTemplateSpecialization (const ClassTemplateDecl *TD, const ClassTemplateSpecializationDecl *D) override |
A template specialization (or partial one) was added to the template declaration. More... | |
void | AddedCXXTemplateSpecialization (const VarTemplateDecl *TD, const VarTemplateSpecializationDecl *D) override |
A template specialization (or partial one) was added to the template declaration. More... | |
void | AddedCXXTemplateSpecialization (const FunctionTemplateDecl *TD, const FunctionDecl *D) override |
A template specialization (or partial one) was added to the template declaration. More... | |
void | ResolvedExceptionSpec (const FunctionDecl *FD) override |
A function's exception specification has been evaluated or instantiated. More... | |
void | DeducedReturnType (const FunctionDecl *FD, QualType ReturnType) override |
A function's return type has been deduced. More... | |
void | ResolvedOperatorDelete (const CXXDestructorDecl *DD, const FunctionDecl *Delete) override |
A virtual destructor's operator delete has been resolved. More... | |
void | CompletedImplicitDefinition (const FunctionDecl *D) override |
An implicit member got a definition. More... | |
void | StaticDataMemberInstantiated (const VarDecl *D) override |
A static data member was implicitly instantiated. More... | |
void | FunctionDefinitionInstantiated (const FunctionDecl *D) override |
A function template's definition was instantiated. More... | |
void | AddedObjCCategoryToInterface (const ObjCCategoryDecl *CatD, const ObjCInterfaceDecl *IFD) override |
A new objc category class was added for an interface. More... | |
void | AddedObjCPropertyInClassExtension (const ObjCPropertyDecl *Prop, const ObjCPropertyDecl *OrigProp, const ObjCCategoryDecl *ClassExt) override |
A objc class extension redeclared or introduced a property. More... | |
void | DeclarationMarkedUsed (const Decl *D) override |
A declaration is marked used which was not previously marked used. More... | |
void | DeclarationMarkedOpenMPThreadPrivate (const Decl *D) override |
A declaration is marked as OpenMP threadprivate which was not previously marked as threadprivate. More... | |
void | RedefinedHiddenDefinition (const NamedDecl *D, Module *M) override |
A definition has been made visible by being redefined locally. More... | |
void | AddedAttributeToRecord (const Attr *Attr, const RecordDecl *Record) override |
An attribute was added to a RecordDecl. More... | |
![]() | |
virtual | ~ASTDeserializationListener () |
virtual void | DeclRead (serialization::DeclID ID, const Decl *D) |
A decl was deserialized from the AST file. More... | |
![]() | |
virtual | ~ASTMutationListener () |
Friends | |
class | ASTDeclWriter |
class | ASTStmtWriter |
Writes an AST file containing the contents of a translation unit.
The ASTWriter class produces a bitstream containing the serialized representation of a given abstract syntax tree and its supporting data structures. This bitstream can be de-serialized via an instance of the ASTReader class.
Definition at line 82 of file ASTWriter.h.
typedef SmallVector<uint64_t, 64> clang::ASTWriter::RecordData |
Definition at line 85 of file ASTWriter.h.
typedef SmallVectorImpl<uint64_t> clang::ASTWriter::RecordDataImpl |
Definition at line 86 of file ASTWriter.h.
ASTWriter::ASTWriter | ( | llvm::BitstreamWriter & | Stream | ) |
Create a new precompiled header writer that outputs to the given bitstream.
Definition at line 4031 of file ASTWriter.cpp.
|
override |
Definition at line 4054 of file ASTWriter.cpp.
void ASTWriter::AddAPFloat | ( | const llvm::APFloat & | Value, |
RecordDataImpl & | Record | ||
) |
void ASTWriter::AddAPInt | ( | const llvm::APInt & | Value, |
RecordDataImpl & | Record | ||
) |
Emit an integral value.
Definition at line 4741 of file ASTWriter.cpp.
Referenced by AddAPFloat(), and AddAPSInt().
void ASTWriter::AddAPSInt | ( | const llvm::APSInt & | Value, |
RecordDataImpl & | Record | ||
) |
Emit a signed integral value.
Definition at line 4747 of file ASTWriter.cpp.
References AddAPInt().
Referenced by AddTemplateArgument().
void ASTWriter::AddASTTemplateArgumentListInfo | ( | const ASTTemplateArgumentListInfo * | ASTTemplArgList, |
RecordDataImpl & | Record | ||
) |
Emits an AST template argument list info.
Definition at line 5360 of file ASTWriter.cpp.
References AddSourceLocation(), AddTemplateArgumentLoc(), clang::ASTTemplateArgumentListInfo::getTemplateArgs(), clang::ASTTemplateArgumentListInfo::LAngleLoc, clang::ASTTemplateArgumentListInfo::NumTemplateArgs, and clang::ASTTemplateArgumentListInfo::RAngleLoc.
void ASTWriter::AddCXXBaseSpecifier | ( | const CXXBaseSpecifier & | Base, |
RecordDataImpl & | Record | ||
) |
Emit a C++ base specifier.
Definition at line 5380 of file ASTWriter.cpp.
References AddSourceLocation(), AddSourceRange(), AddTypeSourceInfo(), clang::CXXBaseSpecifier::getAccessSpecifierAsWritten(), clang::CXXBaseSpecifier::getEllipsisLoc(), clang::CXXBaseSpecifier::getInheritConstructors(), clang::CXXBaseSpecifier::getSourceRange(), clang::CXXBaseSpecifier::getTypeSourceInfo(), clang::CXXBaseSpecifier::isBaseOfClass(), clang::CXXBaseSpecifier::isPackExpansion(), and clang::CXXBaseSpecifier::isVirtual().
Referenced by FlushCXXBaseSpecifiers().
void ASTWriter::AddCXXBaseSpecifiersRef | ( | CXXBaseSpecifier const * | Bases, |
CXXBaseSpecifier const * | BasesEnd, | ||
RecordDataImpl & | Record | ||
) |
Emit a set of C++ base specifiers to the record.
Definition at line 4833 of file ASTWriter.cpp.
Referenced by AddCXXDefinitionData().
void ASTWriter::AddCXXCtorInitializers | ( | const CXXCtorInitializer *const * | CtorInitializers, |
unsigned | NumCtorInitializers, | ||
RecordDataImpl & | Record | ||
) |
Emit a CXXCtorInitializer array.
Definition at line 5425 of file ASTWriter.cpp.
References AddDeclRef(), AddSourceLocation(), AddStmt(), AddTypeSourceInfo(), clang::serialization::CTOR_INITIALIZER_BASE, clang::serialization::CTOR_INITIALIZER_DELEGATING, clang::serialization::CTOR_INITIALIZER_INDIRECT_MEMBER, clang::serialization::CTOR_INITIALIZER_MEMBER, clang::CXXCtorInitializer::getArrayIndex(), clang::CXXCtorInitializer::getIndirectMember(), clang::CXXCtorInitializer::getInit(), clang::CXXCtorInitializer::getLParenLoc(), clang::CXXCtorInitializer::getMember(), clang::CXXCtorInitializer::getMemberLocation(), clang::CXXCtorInitializer::getNumArrayIndices(), clang::CXXCtorInitializer::getRParenLoc(), clang::CXXCtorInitializer::getSourceOrder(), clang::CXXCtorInitializer::getTypeSourceInfo(), clang::CXXCtorInitializer::isBaseInitializer(), clang::CXXCtorInitializer::isBaseVirtual(), clang::CXXCtorInitializer::isDelegatingInitializer(), clang::CXXCtorInitializer::isMemberInitializer(), and clang::CXXCtorInitializer::isWritten().
Referenced by FlushCXXCtorInitializers().
void ASTWriter::AddCXXCtorInitializersRef | ( | ArrayRef< CXXCtorInitializer * > | Inits, |
RecordDataImpl & | Record | ||
) |
Emit the ID for a CXXCtorInitializer array and register the array for later serialization.
Definition at line 4825 of file ASTWriter.cpp.
void ASTWriter::AddCXXDefinitionData | ( | const CXXRecordDecl * | D, |
RecordDataImpl & | Record | ||
) |
Definition at line 5493 of file ASTWriter.cpp.
References AddCXXBaseSpecifiersRef(), AddDeclRef(), AddSourceLocation(), AddTypeSourceInfo(), AddUnresolvedSet(), clang::LambdaCapture::capturesVariable(), clang::LambdaCapture::getCapturedVar(), clang::LambdaCapture::getCaptureKind(), clang::LambdaCapture::getEllipsisLoc(), clang::LambdaCapture::getLocation(), clang::LambdaCapture::isImplicit(), clang::LambdaCapture::isPackExpansion(), clang::LCK_ByCopy, clang::LCK_ByRef, clang::LCK_This, and clang::LCK_VLAType.
void ASTWriter::AddCXXTemporary | ( | const CXXTemporary * | Temp, |
RecordDataImpl & | Record | ||
) |
Emit a CXXTemporary.
Definition at line 4821 of file ASTWriter.cpp.
References AddDeclRef(), and clang::CXXTemporary::getDestructor().
void ASTWriter::AddDeclarationName | ( | DeclarationName | Name, |
RecordDataImpl & | Record | ||
) |
Emit a declaration name.
Definition at line 5035 of file ASTWriter.cpp.
References AddIdentifierRef(), AddSelectorRef(), AddTypeRef(), clang::DeclarationName::CXXConstructorName, clang::DeclarationName::CXXConversionFunctionName, clang::DeclarationName::CXXDestructorName, clang::DeclarationName::CXXLiteralOperatorName, clang::DeclarationName::CXXOperatorName, clang::DeclarationName::CXXUsingDirective, clang::DeclarationName::getAsIdentifierInfo(), clang::DeclarationName::getCXXLiteralIdentifier(), clang::DeclarationName::getCXXNameType(), clang::DeclarationName::getCXXOverloadedOperator(), clang::DeclarationName::getNameKind(), clang::DeclarationName::getObjCSelector(), clang::DeclarationName::Identifier, clang::DeclarationName::ObjCMultiArgSelector, clang::DeclarationName::ObjCOneArgSelector, and clang::DeclarationName::ObjCZeroArgSelector.
Referenced by AddDeclarationNameInfo().
void ASTWriter::AddDeclarationNameInfo | ( | const DeclarationNameInfo & | NameInfo, |
RecordDataImpl & | Record | ||
) |
Definition at line 5123 of file ASTWriter.cpp.
References AddDeclarationName(), AddDeclarationNameLoc(), AddSourceLocation(), clang::DeclarationNameInfo::getInfo(), clang::DeclarationNameInfo::getLoc(), and clang::DeclarationNameInfo::getName().
void ASTWriter::AddDeclarationNameLoc | ( | const DeclarationNameLoc & | DNLoc, |
DeclarationName | Name, | ||
RecordDataImpl & | Record | ||
) |
Definition at line 5090 of file ASTWriter.cpp.
References AddSourceLocation(), AddTypeSourceInfo(), clang::DeclarationNameLoc::CXXOpName::BeginOpNameLoc, clang::DeclarationName::CXXConstructorName, clang::DeclarationName::CXXConversionFunctionName, clang::DeclarationName::CXXDestructorName, clang::DeclarationName::CXXLiteralOperatorName, clang::DeclarationNameLoc::CXXLiteralOperatorName, clang::DeclarationName::CXXOperatorName, clang::DeclarationNameLoc::CXXOperatorName, clang::DeclarationName::CXXUsingDirective, clang::DeclarationNameLoc::CXXOpName::EndOpNameLoc, clang::SourceLocation::getFromRawEncoding(), clang::DeclarationName::getNameKind(), clang::DeclarationName::Identifier, clang::DeclarationNameLoc::NamedType, clang::DeclarationName::ObjCMultiArgSelector, clang::DeclarationName::ObjCOneArgSelector, clang::DeclarationName::ObjCZeroArgSelector, clang::DeclarationNameLoc::CXXLitOpName::OpNameLoc, and clang::DeclarationNameLoc::NT::TInfo.
Referenced by AddDeclarationNameInfo().
void ASTWriter::AddDeclRef | ( | const Decl * | D, |
RecordDataImpl & | Record | ||
) |
Emit a reference to a declaration.
Definition at line 4945 of file ASTWriter.cpp.
References GetDeclRef().
Referenced by AddCXXCtorInitializers(), AddCXXDefinitionData(), AddCXXTemporary(), addExceptionSpec(), AddLazyVectorDecls(), AddNestedNameSpecifier(), AddNestedNameSpecifierLoc(), AddTemplateArgument(), AddTemplateName(), AddTemplateParameterList(), and AddUnresolvedSet().
|
overridevirtual |
An attribute was added to a RecordDecl.
Attr | The attribute that was added to the Record |
Record | The RecordDecl that got a new attribute |
Reimplemented from clang::ASTMutationListener.
Definition at line 5847 of file ASTWriter.cpp.
References clang::Decl::isFromASTFile(), and clang::serialization::UPD_ADDED_ATTR_TO_RECORD.
|
overridevirtual |
An implicit member was added after the definition was completed.
Reimplemented from clang::ASTMutationListener.
Definition at line 5688 of file ASTWriter.cpp.
References clang::TagDecl::isCompleteDefinition(), clang::Decl::isFromASTFile(), clang::Decl::isImplicit(), and clang::serialization::UPD_CXX_ADDED_IMPLICIT_MEMBER.
|
overridevirtual |
A template specialization (or partial one) was added to the template declaration.
Reimplemented from clang::ASTMutationListener.
Definition at line 5701 of file ASTWriter.cpp.
References clang::ClassTemplateDecl::getCanonicalDecl(), clang::Decl::isFromASTFile(), and clang::serialization::UPD_CXX_ADDED_TEMPLATE_SPECIALIZATION.
|
overridevirtual |
A template specialization (or partial one) was added to the template declaration.
Reimplemented from clang::ASTMutationListener.
Definition at line 5713 of file ASTWriter.cpp.
References clang::VarTemplateDecl::getCanonicalDecl(), clang::Decl::isFromASTFile(), and clang::serialization::UPD_CXX_ADDED_TEMPLATE_SPECIALIZATION.
|
overridevirtual |
A template specialization (or partial one) was added to the template declaration.
Reimplemented from clang::ASTMutationListener.
Definition at line 5725 of file ASTWriter.cpp.
References clang::FunctionTemplateDecl::getCanonicalDecl(), clang::Decl::isFromASTFile(), and clang::serialization::UPD_CXX_ADDED_TEMPLATE_SPECIALIZATION.
|
overridevirtual |
A new objc category class was added for an interface.
Reimplemented from clang::ASTMutationListener.
Definition at line 5799 of file ASTWriter.cpp.
References clang::ObjCInterfaceDecl::getDefinition(), and clang::Decl::isFromASTFile().
|
overridevirtual |
A objc class extension redeclared or introduced a property.
Prop | the property in the class extension |
OrigProp | the property from the original interface that was declared or null if the property was introduced. |
ClassExt | the class extension. |
Reimplemented from clang::ASTMutationListener.
Definition at line 5811 of file ASTWriter.cpp.
References clang::ObjCCategoryDecl::getClassInterface(), clang::Decl::isFromASTFile(), and RewriteDecl().
|
overridevirtual |
A new declaration with name has been added to a DeclContext.
Reimplemented from clang::ASTMutationListener.
Definition at line 5674 of file ASTWriter.cpp.
References clang::serialization::getDefinitiveDeclContext(), and clang::Decl::isFromASTFile().
void ASTWriter::AddIdentifierRef | ( | const IdentifierInfo * | II, |
RecordDataImpl & | Record | ||
) |
Emit a reference to an identifier.
Definition at line 4756 of file ASTWriter.cpp.
References getIdentifierRef().
Referenced by AddDeclarationName(), AddNestedNameSpecifier(), AddNestedNameSpecifierLoc(), and AddTemplateName().
void ASTWriter::AddNestedNameSpecifier | ( | NestedNameSpecifier * | NNS, |
RecordDataImpl & | Record | ||
) |
Emit a nested name specifier.
Definition at line 5138 of file ASTWriter.cpp.
References AddDeclRef(), AddIdentifierRef(), AddTypeRef(), clang::NestedNameSpecifier::getAsIdentifier(), clang::NestedNameSpecifier::getAsNamespace(), clang::NestedNameSpecifier::getAsNamespaceAlias(), clang::NestedNameSpecifier::getAsRecordDecl(), clang::NestedNameSpecifier::getAsType(), clang::NestedNameSpecifier::getKind(), clang::NestedNameSpecifier::getPrefix(), clang::NestedNameSpecifier::Global, clang::NestedNameSpecifier::Identifier, clang::NestedNameSpecifier::Namespace, clang::NestedNameSpecifier::NamespaceAlias, clang::NestedNameSpecifier::Super, clang::NestedNameSpecifier::TypeSpec, and clang::NestedNameSpecifier::TypeSpecWithTemplate.
Referenced by AddTemplateName().
void ASTWriter::AddNestedNameSpecifierLoc | ( | NestedNameSpecifierLoc | NNS, |
RecordDataImpl & | Record | ||
) |
Emit a nested name specifier with source-location information.
Definition at line 5185 of file ASTWriter.cpp.
References AddDeclRef(), AddIdentifierRef(), AddSourceLocation(), AddSourceRange(), AddTypeLoc(), clang::NestedNameSpecifier::getAsIdentifier(), clang::NestedNameSpecifier::getAsNamespace(), clang::NestedNameSpecifier::getAsNamespaceAlias(), clang::NestedNameSpecifier::getAsRecordDecl(), clang::SourceRange::getEnd(), clang::NestedNameSpecifier::getKind(), clang::NestedNameSpecifierLoc::getLocalSourceRange(), clang::NestedNameSpecifierLoc::getNestedNameSpecifier(), clang::NestedNameSpecifierLoc::getPrefix(), clang::NestedNameSpecifierLoc::getTypeLoc(), clang::NestedNameSpecifier::Global, clang::NestedNameSpecifier::Identifier, clang::NestedNameSpecifier::Namespace, clang::NestedNameSpecifier::NamespaceAlias, clang::NestedNameSpecifier::Super, clang::NestedNameSpecifier::TypeSpec, and clang::NestedNameSpecifier::TypeSpecWithTemplate.
Referenced by AddQualifierInfo(), and AddTemplateArgumentLocInfo().
void ASTWriter::AddPath | ( | StringRef | Path, |
RecordDataImpl & | Record | ||
) |
Add a path to the given record.
Definition at line 3983 of file ASTWriter.cpp.
void ASTWriter::AddQualifierInfo | ( | const QualifierInfo & | Info, |
RecordDataImpl & | Record | ||
) |
Definition at line 5130 of file ASTWriter.cpp.
References AddNestedNameSpecifierLoc(), AddTemplateParameterList(), clang::QualifierInfo::NumTemplParamLists, clang::QualifierInfo::QualifierLoc, and clang::QualifierInfo::TemplParamLists.
void ASTWriter::AddSelectorRef | ( | Selector | SelRef, |
RecordDataImpl & | Record | ||
) |
Emit a Selector (which is a smart pointer reference).
Definition at line 4798 of file ASTWriter.cpp.
References getSelectorRef().
Referenced by AddDeclarationName().
void ASTWriter::AddSourceLocation | ( | SourceLocation | Loc, |
RecordDataImpl & | Record | ||
) |
Emit a source location.
Definition at line 4732 of file ASTWriter.cpp.
References clang::SourceLocation::getRawEncoding().
Referenced by AddASTTemplateArgumentListInfo(), AddCXXBaseSpecifier(), AddCXXCtorInitializers(), AddCXXDefinitionData(), AddDeclarationNameInfo(), AddDeclarationNameLoc(), AddNestedNameSpecifierLoc(), AddSourceRange(), AddTemplateArgumentLocInfo(), clang::ASTStmtWriter::AddTemplateKWAndArgsInfo(), AddTemplateParameterList(), and clang::OMPClauseWriter::writeClause().
void ASTWriter::AddSourceRange | ( | SourceRange | Range, |
RecordDataImpl & | Record | ||
) |
Emit a source range.
Definition at line 4736 of file ASTWriter.cpp.
References AddSourceLocation(), clang::SourceRange::getBegin(), and clang::SourceRange::getEnd().
Referenced by AddCXXBaseSpecifier(), and AddNestedNameSpecifierLoc().
|
inline |
Add the given statement or expression to the queue of statements to emit.
This routine should be used when emitting types and declarations that have expressions as part of their formulation. Once the type or declaration has been written, call FlushStmts() to write the corresponding statements just after the type or declaration.
Definition at line 779 of file ASTWriter.h.
Referenced by AddCXXCtorInitializers(), addExceptionSpec(), AddTemplateArgument(), and AddTemplateArgumentLocInfo().
void ASTWriter::AddString | ( | StringRef | Str, |
RecordDataImpl & | Record | ||
) |
Add a string to the given record.
Definition at line 3960 of file ASTWriter.cpp.
void ASTWriter::AddTemplateArgument | ( | const TemplateArgument & | Arg, |
RecordDataImpl & | Record | ||
) |
Emit a template argument.
Definition at line 5293 of file ASTWriter.cpp.
References AddAPSInt(), AddDeclRef(), AddStmt(), AddTemplateName(), AddTypeRef(), clang::TemplateArgument::Declaration, clang::TemplateArgument::Expression, clang::TemplateArgument::getAsDecl(), clang::TemplateArgument::getAsExpr(), clang::TemplateArgument::getAsIntegral(), clang::TemplateArgument::getAsTemplateOrTemplatePattern(), clang::TemplateArgument::getAsType(), clang::TemplateArgument::getIntegralType(), clang::TemplateArgument::getKind(), clang::TemplateArgument::getNullPtrType(), clang::TemplateArgument::getNumTemplateExpansions(), clang::TemplateArgument::getParamTypeForDecl(), clang::TemplateArgument::Integral, clang::TemplateArgument::Null, clang::TemplateArgument::NullPtr, P, clang::TemplateArgument::Pack, clang::TemplateArgument::pack_elements(), clang::TemplateArgument::pack_size(), clang::TemplateArgument::Template, clang::TemplateArgument::TemplateExpansion, and clang::TemplateArgument::Type.
Referenced by AddTemplateArgumentList(), AddTemplateArgumentLoc(), and AddTemplateName().
void ASTWriter::AddTemplateArgumentList | ( | const TemplateArgumentList * | TemplateArgs, |
RecordDataImpl & | Record | ||
) |
Emit a template argument list.
Definition at line 5350 of file ASTWriter.cpp.
References AddTemplateArgument(), clang::TemplateArgumentList::get(), and clang::TemplateArgumentList::size().
void ASTWriter::AddTemplateArgumentLoc | ( | const TemplateArgumentLoc & | Arg, |
RecordDataImpl & | Record | ||
) |
Emits a template argument location.
Definition at line 4872 of file ASTWriter.cpp.
References AddTemplateArgument(), AddTemplateArgumentLocInfo(), clang::TemplateArgument::Expression, clang::TemplateArgumentLoc::getArgument(), clang::TemplateArgument::getAsExpr(), clang::TemplateArgumentLocInfo::getAsExpr(), clang::TemplateArgument::getKind(), and clang::TemplateArgumentLoc::getLocInfo().
Referenced by AddASTTemplateArgumentListInfo(), and clang::ASTStmtWriter::AddTemplateKWAndArgsInfo().
void ASTWriter::AddTemplateArgumentLocInfo | ( | TemplateArgument::ArgKind | Kind, |
const TemplateArgumentLocInfo & | Arg, | ||
RecordDataImpl & | Record | ||
) |
Emits a template argument location info.
Definition at line 4843 of file ASTWriter.cpp.
References AddNestedNameSpecifierLoc(), AddSourceLocation(), AddStmt(), AddTypeSourceInfo(), clang::TemplateArgument::Declaration, clang::TemplateArgument::Expression, clang::TemplateArgumentLocInfo::getAsExpr(), clang::TemplateArgumentLocInfo::getAsTypeSourceInfo(), clang::TemplateArgumentLocInfo::getTemplateEllipsisLoc(), clang::TemplateArgumentLocInfo::getTemplateNameLoc(), clang::TemplateArgumentLocInfo::getTemplateQualifierLoc(), clang::TemplateArgument::Integral, clang::TemplateArgument::Null, clang::TemplateArgument::NullPtr, clang::TemplateArgument::Pack, clang::TemplateArgument::Template, clang::TemplateArgument::TemplateExpansion, and clang::TemplateArgument::Type.
Referenced by AddTemplateArgumentLoc().
void ASTWriter::AddTemplateName | ( | TemplateName | Name, |
RecordDataImpl & | Record | ||
) |
Emit a template name.
Definition at line 5239 of file ASTWriter.cpp.
References AddDeclRef(), AddIdentifierRef(), AddNestedNameSpecifier(), AddTemplateArgument(), clang::OverloadedTemplateStorage::begin(), clang::TemplateName::DependentTemplate, clang::OverloadedTemplateStorage::end(), clang::SubstTemplateTemplateParmPackStorage::getArgumentPack(), clang::TemplateName::getAsDependentTemplateName(), clang::TemplateName::getAsOverloadedTemplate(), clang::TemplateName::getAsQualifiedTemplateName(), clang::TemplateName::getAsSubstTemplateTemplateParm(), clang::TemplateName::getAsSubstTemplateTemplateParmPack(), clang::TemplateName::getAsTemplateDecl(), clang::DependentTemplateName::getIdentifier(), clang::TemplateName::getKind(), clang::DependentTemplateName::getOperator(), clang::SubstTemplateTemplateParmStorage::getParameter(), clang::SubstTemplateTemplateParmPackStorage::getParameterPack(), clang::QualifiedTemplateName::getQualifier(), clang::DependentTemplateName::getQualifier(), clang::SubstTemplateTemplateParmStorage::getReplacement(), clang::QualifiedTemplateName::getTemplateDecl(), clang::QualifiedTemplateName::hasTemplateKeyword(), clang::DependentTemplateName::isIdentifier(), clang::TemplateName::OverloadedTemplate, clang::TemplateName::QualifiedTemplate, clang::UncommonTemplateNameStorage::size(), clang::TemplateName::SubstTemplateTemplateParm, clang::TemplateName::SubstTemplateTemplateParmPack, and clang::TemplateName::Template.
Referenced by AddTemplateArgument().
void ASTWriter::AddTemplateParameterList | ( | const TemplateParameterList * | TemplateParams, |
RecordDataImpl & | Record | ||
) |
Emit a template parameter list.
Definition at line 5335 of file ASTWriter.cpp.
References AddDeclRef(), AddSourceLocation(), clang::TemplateParameterList::begin(), clang::TemplateParameterList::end(), clang::TemplateParameterList::getLAngleLoc(), clang::TemplateParameterList::getRAngleLoc(), clang::TemplateParameterList::getTemplateLoc(), P, and clang::TemplateParameterList::size().
Referenced by AddQualifierInfo().
void ASTWriter::AddToken | ( | const Token & | Tok, |
RecordDataImpl & | Record | ||
) |
Emit a token.
Definition at line 3947 of file ASTWriter.cpp.
References clang::Token::getFlags(), clang::Token::getIdentifierInfo(), clang::Token::getKind(), clang::Token::getLength(), and clang::Token::getLocation().
void ASTWriter::AddTypeLoc | ( | TypeLoc | TL, |
RecordDataImpl & | Record | ||
) |
Emits a type with source-location information.
Definition at line 4897 of file ASTWriter.cpp.
References AddTypeRef(), clang::TypeLoc::getNextTypeLoc(), clang::TypeLoc::getType(), and clang::TypeLoc::isNull().
Referenced by AddNestedNameSpecifierLoc(), and AddTypeSourceInfo().
void ASTWriter::AddTypeRef | ( | QualType | T, |
RecordDataImpl & | Record | ||
) |
Emit a reference to a type.
Definition at line 4905 of file ASTWriter.cpp.
References GetOrCreateTypeID().
Referenced by AddDeclarationName(), addExceptionSpec(), AddNestedNameSpecifier(), AddTemplateArgument(), AddTypeLoc(), and AddTypeSourceInfo().
void ASTWriter::AddTypeSourceInfo | ( | TypeSourceInfo * | TInfo, |
RecordDataImpl & | Record | ||
) |
Emits a reference to a declarator info.
Definition at line 4887 of file ASTWriter.cpp.
References AddTypeLoc(), AddTypeRef(), and clang::TypeSourceInfo::getTypeLoc().
Referenced by AddCXXBaseSpecifier(), AddCXXCtorInitializers(), AddCXXDefinitionData(), AddDeclarationNameLoc(), and AddTemplateArgumentLocInfo().
void ASTWriter::AddUnresolvedSet | ( | const ASTUnresolvedSet & | Set, |
RecordDataImpl & | Record | ||
) |
Emit a UnresolvedSet structure.
Definition at line 5371 of file ASTWriter.cpp.
References AddDeclRef(), clang::ASTUnresolvedSet::begin(), clang::ASTUnresolvedSet::end(), and clang::ASTUnresolvedSet::size().
Referenced by AddCXXDefinitionData().
void ASTWriter::AddVersionTuple | ( | const VersionTuple & | Version, |
RecordDataImpl & | Record | ||
) |
Add a version tuple to the given record.
Definition at line 3996 of file ASTWriter.cpp.
References clang::VersionTuple::getMajor(), clang::VersionTuple::getMinor(), and clang::VersionTuple::getSubminor().
void ASTWriter::ClearSwitchCaseIDs | ( | ) |
Definition at line 2146 of file ASTWriterStmt.cpp.
|
overridevirtual |
An implicit member got a definition.
Reimplemented from clang::ASTMutationListener.
Definition at line 5770 of file ASTWriter.cpp.
References clang::Decl::isFromASTFile(), and clang::serialization::UPD_CXX_ADDED_FUNCTION_DEFINITION.
|
overridevirtual |
A new TagDecl definition was completed.
Reimplemented from clang::ASTMutationListener.
Definition at line 5657 of file ASTWriter.cpp.
References clang::TagDecl::isCompleteDefinition(), clang::isTemplateInstantiation(), and clang::serialization::UPD_CXX_INSTANTIATED_CLASS_DEFINITION.
|
overridevirtual |
A declaration is marked as OpenMP threadprivate which was not previously marked as threadprivate.
D | the declaration marked OpenMP threadprivate. |
Reimplemented from clang::ASTMutationListener.
Definition at line 5833 of file ASTWriter.cpp.
References clang::Decl::isFromASTFile(), and clang::serialization::UPD_DECL_MARKED_OPENMP_THREADPRIVATE.
|
overridevirtual |
A declaration is marked used which was not previously marked used.
D | the declaration marked used |
Reimplemented from clang::ASTMutationListener.
Definition at line 5825 of file ASTWriter.cpp.
References clang::Decl::isFromASTFile(), and clang::serialization::UPD_DECL_MARKED_USED.
|
overridevirtual |
A function's return type has been deduced.
Reimplemented from clang::ASTMutationListener.
Definition at line 5751 of file ASTWriter.cpp.
References clang::serialization::UPD_CXX_DEDUCED_RETURN_TYPE.
void ASTWriter::EmitRecordWithPath | ( | unsigned | Abbrev, |
RecordDataImpl & | Record, | ||
StringRef | Path | ||
) |
Emit the current record with the given path as a blob.
Definition at line 3989 of file ASTWriter.cpp.
void ASTWriter::FlushCXXBaseSpecifiers | ( | ) |
Flush all of the C++ base specifier sets that have been added via AddCXXBaseSpecifiersRef()
.
Definition at line 5393 of file ASTWriter.cpp.
References AddCXXBaseSpecifier(), clang::serialization::DECL_CXX_BASE_SPECIFIERS, and FlushStmts().
Referenced by FlushPendingAfterDecl().
void ASTWriter::FlushCXXCtorInitializers | ( | ) |
Flush all of the C++ constructor initializer lists that have been added via AddCXXCtorInitializersRef()
.
Definition at line 5463 of file ASTWriter.cpp.
References AddCXXCtorInitializers(), clang::serialization::DECL_CXX_CTOR_INITIALIZERS, and FlushStmts().
Referenced by FlushPendingAfterDecl().
|
inline |
Flush all pending records that are tacked onto the end of decl and decl update records.
Definition at line 797 of file ASTWriter.h.
References FlushCXXBaseSpecifiers(), FlushCXXCtorInitializers(), and FlushStmts().
void ASTWriter::FlushStmts | ( | ) |
Flush all of the statements and expressions that have been added to the queue via AddStmt().
Flush all of the statements that have been added to the queue via AddStmt().
Definition at line 2224 of file ASTWriterStmt.cpp.
References clang::serialization::STMT_STOP.
Referenced by FlushCXXBaseSpecifiers(), FlushCXXCtorInitializers(), and FlushPendingAfterDecl().
|
overridevirtual |
A function template's definition was instantiated.
Reimplemented from clang::ASTMutationListener.
Definition at line 5779 of file ASTWriter.cpp.
References clang::Decl::isFromASTFile(), and clang::serialization::UPD_CXX_ADDED_FUNCTION_DEFINITION.
Definition at line 5069 of file ASTWriter.cpp.
References clang::Decl::getLexicalDeclContext(), clang::serialization::needsAnonymousDeclarationNumber(), and clang::serialization::numberAnonymousDeclsWithin().
|
inline |
Definition at line 828 of file ASTWriter.h.
|
inline |
Definition at line 825 of file ASTWriter.h.
|
inline |
Definition at line 823 of file ASTWriter.h.
|
inline |
Definition at line 822 of file ASTWriter.h.
DeclID ASTWriter::getDeclID | ( | const Decl * | D | ) |
Determine the declaration ID of an already-emitted declaration.
Definition at line 4978 of file ASTWriter.cpp.
References clang::Decl::getGlobalID(), and clang::Decl::isFromASTFile().
|
inline |
Definition at line 824 of file ASTWriter.h.
|
inline |
Definition at line 818 of file ASTWriter.h.
|
inline |
Definition at line 819 of file ASTWriter.h.
DeclID ASTWriter::GetDeclRef | ( | const Decl * | D | ) |
Force a declaration to be emitted and get its ID.
Definition at line 4949 of file ASTWriter.cpp.
References clang::Decl::getGlobalID(), and clang::Decl::isFromASTFile().
Referenced by AddDeclRef().
|
inline |
Definition at line 827 of file ASTWriter.h.
|
inline |
Definition at line 820 of file ASTWriter.h.
|
inline |
Definition at line 821 of file ASTWriter.h.
Retrieve a submodule ID for this module. Returns 0 If no ID has been associated with the module.
Definition at line 2302 of file ASTWriter.cpp.
|
inline |
Definition at line 830 of file ASTWriter.h.
IdentID ASTWriter::getIdentifierRef | ( | const IdentifierInfo * | II | ) |
Get the unique number used to refer to the given identifier.
Definition at line 4760 of file ASTWriter.cpp.
Referenced by AddIdentifierRef().
|
inline |
Definition at line 829 of file ASTWriter.h.
const LangOptions & ASTWriter::getLangOpts | ( | ) | const |
Definition at line 4058 of file ASTWriter.cpp.
References clang::ASTContext::getLangOpts().
uint64_t ASTWriter::getMacroDirectivesOffset | ( | const IdentifierInfo * | Name | ) |
Definition at line 4794 of file ASTWriter.cpp.
Determine the ID of an already-emitted macro.
Definition at line 4786 of file ASTWriter.cpp.
References clang::MacroInfo::isBuiltinMacro().
MacroID ASTWriter::getMacroRef | ( | MacroInfo * | MI, |
const IdentifierInfo * | Name | ||
) |
Get the unique number used to refer to the given macro.
Definition at line 4770 of file ASTWriter.cpp.
References clang::MacroInfo::isBuiltinMacro().
Force a type to be emitted and get its ID.
Definition at line 4909 of file ASTWriter.cpp.
References clang::QualType::getLocalFastQualifiers(), clang::QualType::isNull(), and clang::serialization::MakeTypeID().
Referenced by AddTypeRef().
SelectorID ASTWriter::getSelectorRef | ( | Selector | Sel | ) |
Get the unique number used to refer to the given selector.
Definition at line 4802 of file ASTWriter.cpp.
References clang::Selector::getAsOpaquePtr().
Referenced by AddSelectorRef().
unsigned ASTWriter::getSwitchCaseID | ( | SwitchCase * | S | ) |
Retrieve the ID for the given switch-case statement.
Definition at line 2140 of file ASTWriterStmt.cpp.
References S.
|
inline |
Definition at line 811 of file ASTWriter.h.
|
inline |
Definition at line 814 of file ASTWriter.h.
Determine the type ID of an already-emitted type.
Definition at line 4932 of file ASTWriter.cpp.
References clang::QualType::getLocalFastQualifiers(), clang::QualType::isNull(), and clang::serialization::MakeTypeID().
|
inline |
Definition at line 832 of file ASTWriter.h.
|
overridevirtual |
An identifier was deserialized from the AST file.
Reimplemented from clang::ASTDeserializationListener.
Definition at line 5614 of file ASTWriter.cpp.
serialization::SubmoduleID ASTWriter::inferSubmoduleIDFromLocation | ( | SourceLocation | Loc | ) |
Infer the submodule ID that contains an entity at the given source location.
Definition at line 2573 of file ASTWriter.cpp.
References clang::Preprocessor::getHeaderSearchInfo(), clang::HeaderSearch::getModuleMap(), clang::Preprocessor::getSourceManager(), clang::ModuleMap::inferModuleFromLocation(), clang::SourceLocation::isInvalid(), and clang::Module::isSubModuleOf().
Definition at line 751 of file ASTWriter.h.
|
overridevirtual |
A macro definition was read from the AST file.
Reimplemented from clang::ASTDeserializationListener.
Definition at line 5646 of file ASTWriter.cpp.
|
overridevirtual |
A macro was read from the AST file.
Reimplemented from clang::ASTDeserializationListener.
Definition at line 5621 of file ASTWriter.cpp.
|
overridevirtual |
A module definition was read from the AST file.
Reimplemented from clang::ASTDeserializationListener.
Definition at line 5652 of file ASTWriter.cpp.
bool ASTWriter::PreparePathForOutput | ( | SmallVectorImpl< char > & | Path | ) |
Convert a path from this build process into one that is appropriate for emission in the module file.
Definition at line 3965 of file ASTWriter.cpp.
References adjustFilenameForRelocatableAST(), cleanPathForOutput(), clang::SourceManager::getFileManager(), and clang::ASTContext::getSourceManager().
|
overridevirtual |
The ASTReader was initialized.
Reimplemented from clang::ASTDeserializationListener.
Definition at line 5585 of file ASTWriter.cpp.
References clang::serialization::NUM_PREDEF_DECL_IDS, clang::serialization::NUM_PREDEF_IDENT_IDS, clang::serialization::NUM_PREDEF_MACRO_IDS, clang::serialization::NUM_PREDEF_SELECTOR_IDS, clang::serialization::NUM_PREDEF_SUBMODULE_IDS, and clang::serialization::NUM_PREDEF_TYPE_IDS.
unsigned ASTWriter::RecordSwitchCaseID | ( | SwitchCase * | S | ) |
Record an ID for the given switch-case statement.
Definition at line 2132 of file ASTWriterStmt.cpp.
References S.
A definition has been made visible by being redefined locally.
D | The definition that was previously not visible. |
M | The containing module in which the definition was made visible, if any. |
Reimplemented from clang::ASTMutationListener.
Definition at line 5841 of file ASTWriter.cpp.
References clang::NamedDecl::isHidden(), and clang::serialization::UPD_DECL_EXPORTED.
|
overridevirtual |
A function's exception specification has been evaluated or instantiated.
Reimplemented from clang::ASTMutationListener.
Definition at line 5737 of file ASTWriter.cpp.
References clang::isUnresolvedExceptionSpec(), and clang::serialization::UPD_CXX_RESOLVED_EXCEPTION_SPEC.
|
overridevirtual |
A virtual destructor's operator delete has been resolved.
Reimplemented from clang::ASTMutationListener.
Definition at line 5760 of file ASTWriter.cpp.
References clang::serialization::UPD_CXX_RESOLVED_DTOR_DELETE.
|
inline |
Definition at line 747 of file ASTWriter.h.
Referenced by AddedObjCPropertyInClassExtension().
|
overridevirtual |
A selector was read from the AST file.
Reimplemented from clang::ASTDeserializationListener.
Definition at line 5639 of file ASTWriter.cpp.
References S.
void ASTWriter::SetIdentifierOffset | ( | const IdentifierInfo * | II, |
uint32_t | Offset | ||
) |
Note that the identifier II occurs at the given offset within the identifier table.
Definition at line 4011 of file ASTWriter.cpp.
void ASTWriter::SetSelectorOffset | ( | Selector | Sel, |
uint32_t | Offset | ||
) |
Note that the selector Sel occurs at the given offset within the method pool/selector table.
Definition at line 4021 of file ASTWriter.cpp.
|
overridevirtual |
A static data member was implicitly instantiated.
Reimplemented from clang::ASTMutationListener.
Definition at line 5787 of file ASTWriter.cpp.
References clang::VarDecl::getMemberSpecializationInfo(), clang::MemberSpecializationInfo::getPointOfInstantiation(), clang::Decl::isFromASTFile(), and clang::serialization::UPD_CXX_INSTANTIATED_STATIC_DATA_MEMBER.
|
overridevirtual |
A type was deserialized from the AST file. The ID here has the qualifier bits already removed, and T is guaranteed to be locally unqualified.
Reimplemented from clang::ASTDeserializationListener.
Definition at line 5628 of file ASTWriter.cpp.
References clang::serialization::TypeIdx::getIndex().
void ASTWriter::WriteAST | ( | Sema & | SemaRef, |
const std::string & | OutputFile, | ||
Module * | WritingModule, | ||
StringRef | isysroot, | ||
bool | hasErrors = false |
||
) |
Write a precompiled header for the given semantic analysis.
SemaRef | a reference to the semantic analysis object that processed the AST to be written into the precompiled header. |
WritingModule | The module that we are writing. If null, we are writing a precompiled header. |
isysroot | if non-empty, write a relocatable file whose headers are relative to the given system root. If we're writing a module, its build directory will be used in preference to this if both are available. |
Definition at line 4063 of file ASTWriter.cpp.
References clang::Sema::Context, and clang::Sema::PP.
Referenced by clang::PCHGenerator::HandleTranslationUnit(), and serializeUnit().
|
friend |
Definition at line 88 of file ASTWriter.h.
|
friend |
Definition at line 89 of file ASTWriter.h.