clang API Documentation

Public Member Functions | Public Attributes
clang::ASTDeclWriter Class Reference
Inheritance diagram for clang::ASTDeclWriter:
Inheritance graph
[legend]
Collaboration diagram for clang::ASTDeclWriter:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ASTDeclWriter (ASTWriter &Writer, ASTContext &Context, RecordData &Record)
void Visit (Decl *D)
void VisitDecl (Decl *D)
void VisitTranslationUnitDecl (TranslationUnitDecl *D)
void VisitNamedDecl (NamedDecl *D)
void VisitLabelDecl (LabelDecl *LD)
void VisitNamespaceDecl (NamespaceDecl *D)
void VisitUsingDirectiveDecl (UsingDirectiveDecl *D)
void VisitNamespaceAliasDecl (NamespaceAliasDecl *D)
void VisitTypeDecl (TypeDecl *D)
void VisitTypedefNameDecl (TypedefNameDecl *D)
void VisitTypedefDecl (TypedefDecl *D)
void VisitTypeAliasDecl (TypeAliasDecl *D)
void VisitUnresolvedUsingTypenameDecl (UnresolvedUsingTypenameDecl *D)
void VisitTagDecl (TagDecl *D)
void VisitEnumDecl (EnumDecl *D)
void VisitRecordDecl (RecordDecl *D)
void VisitCXXRecordDecl (CXXRecordDecl *D)
void VisitClassTemplateSpecializationDecl (ClassTemplateSpecializationDecl *D)
void VisitClassTemplatePartialSpecializationDecl (ClassTemplatePartialSpecializationDecl *D)
void VisitVarTemplateSpecializationDecl (VarTemplateSpecializationDecl *D)
void VisitVarTemplatePartialSpecializationDecl (VarTemplatePartialSpecializationDecl *D)
void VisitClassScopeFunctionSpecializationDecl (ClassScopeFunctionSpecializationDecl *D)
void VisitTemplateTypeParmDecl (TemplateTypeParmDecl *D)
void VisitValueDecl (ValueDecl *D)
void VisitEnumConstantDecl (EnumConstantDecl *D)
void VisitUnresolvedUsingValueDecl (UnresolvedUsingValueDecl *D)
void VisitDeclaratorDecl (DeclaratorDecl *D)
void VisitFunctionDecl (FunctionDecl *D)
void VisitCXXMethodDecl (CXXMethodDecl *D)
void VisitCXXConstructorDecl (CXXConstructorDecl *D)
void VisitCXXDestructorDecl (CXXDestructorDecl *D)
void VisitCXXConversionDecl (CXXConversionDecl *D)
void VisitFieldDecl (FieldDecl *D)
void VisitMSPropertyDecl (MSPropertyDecl *D)
void VisitIndirectFieldDecl (IndirectFieldDecl *D)
void VisitVarDecl (VarDecl *D)
void VisitImplicitParamDecl (ImplicitParamDecl *D)
void VisitParmVarDecl (ParmVarDecl *D)
void VisitNonTypeTemplateParmDecl (NonTypeTemplateParmDecl *D)
void VisitTemplateDecl (TemplateDecl *D)
void VisitRedeclarableTemplateDecl (RedeclarableTemplateDecl *D)
void VisitClassTemplateDecl (ClassTemplateDecl *D)
void VisitVarTemplateDecl (VarTemplateDecl *D)
void VisitFunctionTemplateDecl (FunctionTemplateDecl *D)
void VisitTemplateTemplateParmDecl (TemplateTemplateParmDecl *D)
void VisitTypeAliasTemplateDecl (TypeAliasTemplateDecl *D)
void VisitUsingDecl (UsingDecl *D)
void VisitUsingShadowDecl (UsingShadowDecl *D)
void VisitLinkageSpecDecl (LinkageSpecDecl *D)
void VisitFileScopeAsmDecl (FileScopeAsmDecl *D)
void VisitImportDecl (ImportDecl *D)
void VisitAccessSpecDecl (AccessSpecDecl *D)
void VisitFriendDecl (FriendDecl *D)
void VisitFriendTemplateDecl (FriendTemplateDecl *D)
void VisitStaticAssertDecl (StaticAssertDecl *D)
void VisitBlockDecl (BlockDecl *D)
void VisitCapturedDecl (CapturedDecl *D)
void VisitEmptyDecl (EmptyDecl *D)
void VisitDeclContext (DeclContext *DC, uint64_t LexicalOffset, uint64_t VisibleOffset)
 Emit the DeclContext part of a declaration context decl.
template<typename T >
void VisitRedeclarable (Redeclarable< T > *D)
void VisitObjCMethodDecl (ObjCMethodDecl *D)
void VisitObjCContainerDecl (ObjCContainerDecl *D)
void VisitObjCInterfaceDecl (ObjCInterfaceDecl *D)
void VisitObjCIvarDecl (ObjCIvarDecl *D)
void VisitObjCProtocolDecl (ObjCProtocolDecl *D)
void VisitObjCAtDefsFieldDecl (ObjCAtDefsFieldDecl *D)
void VisitObjCCategoryDecl (ObjCCategoryDecl *D)
void VisitObjCImplDecl (ObjCImplDecl *D)
void VisitObjCCategoryImplDecl (ObjCCategoryImplDecl *D)
void VisitObjCImplementationDecl (ObjCImplementationDecl *D)
void VisitObjCCompatibleAliasDecl (ObjCCompatibleAliasDecl *D)
void VisitObjCPropertyDecl (ObjCPropertyDecl *D)
void VisitObjCPropertyImplDecl (ObjCPropertyImplDecl *D)
void VisitOMPThreadPrivateDecl (OMPThreadPrivateDecl *D)
void AddFunctionDefinition (const FunctionDecl *FD)

Public Attributes

serialization::DeclCode Code
unsigned AbbrevToUse

Detailed Description

Definition at line 34 of file ASTWriterDecl.cpp.


Constructor & Destructor Documentation

clang::ASTDeclWriter::ASTDeclWriter ( ASTWriter Writer,
ASTContext Context,
RecordData &  Record 
) [inline]

Definition at line 45 of file ASTWriterDecl.cpp.


Member Function Documentation

void ASTDeclWriter::Visit ( Decl D)

Definition at line 144 of file ASTWriterDecl.cpp.

References Record.

Definition at line 1084 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_CXX_CONVERSION, and Record.

Definition at line 1076 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_CXX_DESTRUCTOR, and Record.

Definition at line 356 of file ASTWriterDecl.cpp.

References clang::DeclaratorDecl::getInnerLocStart(), and Record.

void ASTDeclWriter::VisitDeclContext ( DeclContext DC,
uint64_t  LexicalOffset,
uint64_t  VisibleOffset 
)

Emit the DeclContext part of a declaration context decl.

Parameters:
LexicalOffsetthe offset at which the DECL_CONTEXT_LEXICAL block for this declaration context is stored. May be 0 to indicate that there are no declarations stored within this context.
VisibleOffsetthe offset at which the DECL_CONTEXT_VISIBLE block for this declaration context is stored. May be 0 to indicate that there are no declarations visible from this context. Note that this value will not be emitted for non-primary declaration contexts.

Definition at line 1442 of file ASTWriterDecl.cpp.

References Record.

Definition at line 850 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_EMPTY.

Definition at line 364 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_FUNCTION, clang::FunctionTemplateDecl::getCanonicalDecl(), clang::NamedDecl::getDeclName(), clang::FunctionDecl::getDependentSpecializationInfo(), clang::FunctionDecl::getDescribedFunctionTemplate(), clang::Decl::getIdentifierNamespace(), clang::MemberSpecializationInfo::getInstantiatedFrom(), clang::DependentFunctionTemplateSpecializationInfo::getLAngleLoc(), clang::NamedDecl::getLinkageInternal(), clang::Decl::getLocEnd(), clang::FunctionDecl::getMemberSpecializationInfo(), clang::DependentFunctionTemplateSpecializationInfo::getNumTemplateArgs(), clang::DependentFunctionTemplateSpecializationInfo::getNumTemplates(), clang::FunctionTemplateSpecializationInfo::getPointOfInstantiation(), clang::MemberSpecializationInfo::getPointOfInstantiation(), clang::DependentFunctionTemplateSpecializationInfo::getRAngleLoc(), clang::FunctionDecl::getStorageClass(), clang::FunctionTemplateSpecializationInfo::getTemplate(), clang::DependentFunctionTemplateSpecializationInfo::getTemplate(), clang::DependentFunctionTemplateSpecializationInfo::getTemplateArg(), clang::FunctionDecl::getTemplatedKind(), clang::FunctionDecl::getTemplateSpecializationInfo(), clang::FunctionTemplateSpecializationInfo::getTemplateSpecializationKind(), clang::MemberSpecializationInfo::getTemplateSpecializationKind(), clang::FunctionDecl::hasImplicitReturnZero(), clang::FunctionDecl::hasInheritedPrototype(), clang::FunctionDecl::hasWrittenPrototype(), clang::Decl::isCanonicalDecl(), clang::FunctionDecl::isConstexpr(), clang::FunctionDecl::isDefaulted(), clang::FunctionDecl::isDeletedAsWritten(), clang::FunctionDecl::isExplicitlyDefaulted(), clang::FunctionDecl::isInlineSpecified(), clang::FunctionDecl::isLateTemplateParsed(), clang::FunctionDecl::isPure(), clang::FunctionDecl::isTrivial(), clang::FunctionDecl::isVirtualAsWritten(), clang::ASTTemplateArgumentListInfo::LAngleLoc, clang::ASTTemplateArgumentListInfo::NumTemplateArgs, P, clang::FunctionDecl::param_size(), clang::FunctionDecl::params(), clang::ASTTemplateArgumentListInfo::RAngleLoc, Record, clang::FunctionTemplateSpecializationInfo::TemplateArguments, clang::FunctionTemplateSpecializationInfo::TemplateArgumentsAsWritten, clang::FunctionDecl::TK_DependentFunctionTemplateSpecialization, clang::FunctionDecl::TK_FunctionTemplate, clang::FunctionDecl::TK_FunctionTemplateSpecialization, clang::FunctionDecl::TK_MemberSpecialization, and clang::FunctionDecl::TK_NonTemplate.

Definition at line 792 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_IMPLICIT_PARAM.

Definition at line 597 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_OBJC_AT_DEFS_FIELD.

Definition at line 640 of file ASTWriterDecl.cpp.

References clang::ObjCImplDecl::getClassInterface(), and Record.

template<typename T >
void ASTDeclWriter::VisitRedeclarable ( Redeclarable< T > *  D)

Definition at line 199 of file ASTWriterDecl.cpp.

Definition at line 341 of file ASTWriterDecl.cpp.

References clang::ValueDecl::getType(), and Record.


Member Data Documentation

Definition at line 43 of file ASTWriterDecl.cpp.

Definition at line 42 of file ASTWriterDecl.cpp.


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