clang API Documentation
#include "clang/Serialization/ASTWriter.h"
#include "ASTCommon.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclContextInternals.h"
#include "clang/AST/DeclFriend.h"
#include "clang/AST/DeclLookups.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/Type.h"
#include "clang/AST/TypeLocVisitor.h"
#include "clang/Basic/DiagnosticOptions.h"
#include "clang/Basic/FileManager.h"
#include "clang/Basic/FileSystemStatCache.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/SourceManagerInternals.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Basic/TargetOptions.h"
#include "clang/Basic/Version.h"
#include "clang/Basic/VersionTuple.h"
#include "clang/Lex/HeaderSearch.h"
#include "clang/Lex/HeaderSearchOptions.h"
#include "clang/Lex/MacroInfo.h"
#include "clang/Lex/PreprocessingRecord.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Lex/PreprocessorOptions.h"
#include "clang/Sema/IdentifierResolver.h"
#include "clang/Sema/Sema.h"
#include "clang/Serialization/ASTReader.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Bitcode/BitstreamWriter.h"
#include "llvm/Support/EndianStream.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/OnDiskHashTable.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
#include <algorithm>
#include <cstdio>
#include <string.h>
#include <utility>
#include "clang/AST/TypeNodes.def"
#include "clang/AST/TypeLocNodes.def"
#include "clang/Basic/LangOptions.def"
#include "clang/Basic/Sanitizers.def"
#include "clang/Basic/DiagnosticOptions.def"
#include "clang/Basic/OpenCLExtensions.def"
#include "clang/Serialization/AttrPCHWrite.inc"
Go to the source code of this file.
Defines | |
#define | TYPE(Class, Base) void Visit##Class##Type(const Class##Type *T); |
#define | ABSTRACT_TYPE(Class, Base) |
#define | ABSTRACT_TYPELOC(CLASS, PARENT) |
#define | TYPELOC(CLASS, PARENT) void Visit##CLASS##TypeLoc(CLASS##TypeLoc TyLoc); |
#define | RECORD(X) EmitRecordID(X, #X, Stream, Record) |
#define | BLOCK(X) EmitBlockID(X ## _ID, #X, Stream, Record) |
#define | RECORD(X) EmitRecordID(X, #X, Stream, Record) |
#define | LANGOPT(Name, Bits, Default, Description) Record.push_back(LangOpts.Name); |
#define | ENUM_LANGOPT(Name, Type, Bits, Default, Description) Record.push_back(static_cast<unsigned>(LangOpts.get##Name())); |
#define | SANITIZER(NAME, ID) Record.push_back(LangOpts.Sanitize.has(SanitizerKind::ID)); |
#define | DIAGOPT(Name, Bits, Default) Record.push_back(DiagOpts.Name); |
#define | ENUM_DIAGOPT(Name, Type, Bits, Default) Record.push_back(static_cast<unsigned>(DiagOpts.get##Name())); |
#define | TYPE(Class, Base) case Type::Class: W.Visit##Class##Type(cast<Class##Type>(T)); break; |
#define | ABSTRACT_TYPE(Class, Base) |
#define | OPENCLEXT(nm) Record.push_back(Opts.nm); |
Functions | |
template<typename T , typename Allocator > | |
static StringRef | data (const std::vector< T, Allocator > &v) |
template<typename T > | |
static StringRef | data (const SmallVectorImpl< T > &v) |
static void | addExceptionSpec (ASTWriter &Writer, const FunctionProtoType *T, ASTWriter::RecordDataImpl &Record) |
static void | EmitBlockID (unsigned ID, const char *Name, llvm::BitstreamWriter &Stream, ASTWriter::RecordDataImpl &Record) |
static void | EmitRecordID (unsigned ID, const char *Name, llvm::BitstreamWriter &Stream, ASTWriter::RecordDataImpl &Record) |
static void | AddStmtsExprs (llvm::BitstreamWriter &Stream, ASTWriter::RecordDataImpl &Record) |
static const char * | adjustFilenameForRelocatablePCH (const char *Filename, StringRef isysroot) |
Adjusts the given filename to only write out the portion of the filename that is not part of the system root directory. | |
static ASTFileSignature | getSignature () |
static unsigned | CreateSLocFileAbbrev (llvm::BitstreamWriter &Stream) |
Create an abbreviation for the SLocEntry that refers to a file. | |
static unsigned | CreateSLocBufferAbbrev (llvm::BitstreamWriter &Stream) |
Create an abbreviation for the SLocEntry that refers to a buffer. | |
static unsigned | CreateSLocBufferBlobAbbrev (llvm::BitstreamWriter &Stream) |
Create an abbreviation for the SLocEntry that refers to a buffer's blob. | |
static unsigned | CreateSLocExpansionAbbrev (llvm::BitstreamWriter &Stream) |
Create an abbreviation for the SLocEntry that refers to a macro expansion. | |
static int | compareMacroDirectives (const std::pair< const IdentifierInfo *, MacroDirective * > *X, const std::pair< const IdentifierInfo *, MacroDirective * > *Y) |
static bool | shouldIgnoreMacro (MacroDirective *MD, bool IsModule, const Preprocessor &PP) |
static unsigned | getNumberOfModules (Module *Mod) |
Compute the number of modules within the given tree (including the given module). | |
static NamedDecl * | getDeclForLocalLookup (NamedDecl *D) |
template<typename Visitor > | |
static void | visitLocalLookupResults (const DeclContext *ConstDC, bool NeedToReconcileExternalVisibleStorage, Visitor AddLookupResult) |
template<typename Vector > | |
static void | AddLazyVectorDecls (ASTWriter &Writer, Vector &Vec, ASTWriter::RecordData &Record) |
#define ABSTRACT_TYPE | ( | Class, | |
Base | |||
) |
Definition at line 98 of file ASTWriter.cpp.
#define ABSTRACT_TYPE | ( | Class, | |
Base | |||
) |
Definition at line 98 of file ASTWriter.cpp.
#define ABSTRACT_TYPELOC | ( | CLASS, | |
PARENT | |||
) |
Definition at line 452 of file ASTWriter.cpp.
#define DIAGOPT | ( | Name, | |
Bits, | |||
Default | |||
) | Record.push_back(DiagOpts.Name); |
#define ENUM_DIAGOPT | ( | Name, | |
Type, | |||
Bits, | |||
Default | |||
) | Record.push_back(static_cast<unsigned>(DiagOpts.get##Name())); |
#define ENUM_LANGOPT | ( | Name, | |
Type, | |||
Bits, | |||
Default, | |||
Description | |||
) | Record.push_back(static_cast<unsigned>(LangOpts.get##Name())); |
#define LANGOPT | ( | Name, | |
Bits, | |||
Default, | |||
Description | |||
) | Record.push_back(LangOpts.Name); |
#define OPENCLEXT | ( | nm | ) | Record.push_back(Opts.nm); |
Referenced by AddStmtsExprs().
#define SANITIZER | ( | NAME, | |
ID | |||
) | Record.push_back(LangOpts.Sanitize.has(SanitizerKind::ID)); |
Definition at line 97 of file ASTWriter.cpp.
Definition at line 97 of file ASTWriter.cpp.
Definition at line 453 of file ASTWriter.cpp.
static void addExceptionSpec | ( | ASTWriter & | Writer, |
const FunctionProtoType * | T, | ||
ASTWriter::RecordDataImpl & | Record | ||
) | [static] |
Definition at line 206 of file ASTWriter.cpp.
References clang::ASTWriter::AddDeclRef(), clang::ASTWriter::AddStmt(), clang::ASTWriter::AddTypeRef(), clang::EST_ComputedNoexcept, clang::EST_Dynamic, clang::EST_Unevaluated, clang::EST_Uninstantiated, clang::FunctionProtoType::getExceptionSpecDecl(), clang::FunctionProtoType::getExceptionSpecTemplate(), clang::FunctionProtoType::getExceptionSpecType(), clang::FunctionProtoType::getExceptionType(), clang::FunctionProtoType::getNoexceptExpr(), clang::FunctionProtoType::getNumExceptions(), and Record.
static void AddLazyVectorDecls | ( | ASTWriter & | Writer, |
Vector & | Vec, | ||
ASTWriter::RecordData & | Record | ||
) | [static] |
Definition at line 4162 of file ASTWriter.cpp.
References clang::ASTWriter::AddDeclRef().
static void AddStmtsExprs | ( | llvm::BitstreamWriter & | Stream, |
ASTWriter::RecordDataImpl & | Record | ||
) | [static] |
Definition at line 729 of file ASTWriter.cpp.
References clang::serialization::EXPR_ADDR_LABEL, clang::serialization::EXPR_ARRAY_SUBSCRIPT, clang::serialization::EXPR_ARRAY_TYPE_TRAIT, clang::serialization::EXPR_BINARY_CONDITIONAL_OPERATOR, clang::serialization::EXPR_BINARY_OPERATOR, clang::serialization::EXPR_BLOCK, clang::serialization::EXPR_CALL, clang::serialization::EXPR_CHARACTER_LITERAL, clang::serialization::EXPR_CHOOSE, clang::serialization::EXPR_COMPOUND_ASSIGN_OPERATOR, clang::serialization::EXPR_COMPOUND_LITERAL, clang::serialization::EXPR_CONDITIONAL_OPERATOR, clang::serialization::EXPR_CSTYLE_CAST, clang::serialization::EXPR_CUDA_KERNEL_CALL, clang::serialization::EXPR_CXX_BIND_TEMPORARY, clang::serialization::EXPR_CXX_BOOL_LITERAL, clang::serialization::EXPR_CXX_CONST_CAST, clang::serialization::EXPR_CXX_CONSTRUCT, clang::serialization::EXPR_CXX_DEFAULT_ARG, clang::serialization::EXPR_CXX_DEFAULT_INIT, clang::serialization::EXPR_CXX_DELETE, clang::serialization::EXPR_CXX_DEPENDENT_SCOPE_DECL_REF, clang::serialization::EXPR_CXX_DEPENDENT_SCOPE_MEMBER, clang::serialization::EXPR_CXX_DYNAMIC_CAST, clang::serialization::EXPR_CXX_EXPRESSION_TRAIT, clang::serialization::EXPR_CXX_FUNCTIONAL_CAST, clang::serialization::EXPR_CXX_MEMBER_CALL, clang::serialization::EXPR_CXX_NEW, clang::serialization::EXPR_CXX_NOEXCEPT, clang::serialization::EXPR_CXX_NULL_PTR_LITERAL, clang::serialization::EXPR_CXX_OPERATOR_CALL, clang::serialization::EXPR_CXX_PSEUDO_DESTRUCTOR, clang::serialization::EXPR_CXX_REINTERPRET_CAST, clang::serialization::EXPR_CXX_SCALAR_VALUE_INIT, clang::serialization::EXPR_CXX_STATIC_CAST, clang::serialization::EXPR_CXX_STD_INITIALIZER_LIST, clang::serialization::EXPR_CXX_TEMPORARY_OBJECT, clang::serialization::EXPR_CXX_THIS, clang::serialization::EXPR_CXX_THROW, clang::serialization::EXPR_CXX_TYPEID_EXPR, clang::serialization::EXPR_CXX_TYPEID_TYPE, clang::serialization::EXPR_CXX_UNRESOLVED_CONSTRUCT, clang::serialization::EXPR_CXX_UNRESOLVED_LOOKUP, clang::serialization::EXPR_CXX_UNRESOLVED_MEMBER, clang::serialization::EXPR_CXX_UUIDOF_EXPR, clang::serialization::EXPR_CXX_UUIDOF_TYPE, clang::serialization::EXPR_DECL_REF, clang::serialization::EXPR_DESIGNATED_INIT, clang::serialization::EXPR_EXPR_WITH_CLEANUPS, clang::serialization::EXPR_EXT_VECTOR_ELEMENT, clang::serialization::EXPR_FLOATING_LITERAL, clang::serialization::EXPR_FUNCTION_PARM_PACK, clang::serialization::EXPR_GENERIC_SELECTION, clang::serialization::EXPR_GNU_NULL, clang::serialization::EXPR_IMAGINARY_LITERAL, clang::serialization::EXPR_IMPLICIT_CAST, clang::serialization::EXPR_IMPLICIT_VALUE_INIT, clang::serialization::EXPR_INIT_LIST, clang::serialization::EXPR_INTEGER_LITERAL, clang::serialization::EXPR_LAMBDA, clang::serialization::EXPR_MATERIALIZE_TEMPORARY, clang::serialization::EXPR_MEMBER, clang::serialization::EXPR_OBJC_ARRAY_LITERAL, clang::serialization::EXPR_OBJC_BOOL_LITERAL, clang::serialization::EXPR_OBJC_BOXED_EXPRESSION, clang::serialization::EXPR_OBJC_DICTIONARY_LITERAL, clang::serialization::EXPR_OBJC_ENCODE, clang::serialization::EXPR_OBJC_IVAR_REF_EXPR, clang::serialization::EXPR_OBJC_KVC_REF_EXPR, clang::serialization::EXPR_OBJC_MESSAGE_EXPR, clang::serialization::EXPR_OBJC_PROPERTY_REF_EXPR, clang::serialization::EXPR_OBJC_PROTOCOL_EXPR, clang::serialization::EXPR_OBJC_SELECTOR_EXPR, clang::serialization::EXPR_OBJC_STRING_LITERAL, clang::serialization::EXPR_OPAQUE_VALUE, clang::serialization::EXPR_PACK_EXPANSION, clang::serialization::EXPR_PAREN, clang::serialization::EXPR_PAREN_LIST, clang::serialization::EXPR_PREDEFINED, clang::serialization::EXPR_SHUFFLE_VECTOR, clang::serialization::EXPR_SIZEOF_ALIGN_OF, clang::serialization::EXPR_SIZEOF_PACK, clang::serialization::EXPR_STMT, clang::serialization::EXPR_STRING_LITERAL, clang::serialization::EXPR_SUBST_NON_TYPE_TEMPLATE_PARM, clang::serialization::EXPR_SUBST_NON_TYPE_TEMPLATE_PARM_PACK, clang::serialization::EXPR_TYPE_TRAIT, clang::serialization::EXPR_UNARY_OPERATOR, clang::serialization::EXPR_USER_DEFINED_LITERAL, clang::serialization::EXPR_VA_ARG, RECORD, clang::serialization::STMT_ATTRIBUTED, clang::serialization::STMT_BREAK, clang::serialization::STMT_CASE, clang::serialization::STMT_COMPOUND, clang::serialization::STMT_CONTINUE, clang::serialization::STMT_CXX_CATCH, clang::serialization::STMT_CXX_FOR_RANGE, clang::serialization::STMT_CXX_TRY, clang::serialization::STMT_DECL, clang::serialization::STMT_DEFAULT, clang::serialization::STMT_DO, clang::serialization::STMT_FOR, clang::serialization::STMT_GCCASM, clang::serialization::STMT_GOTO, clang::serialization::STMT_IF, clang::serialization::STMT_INDIRECT_GOTO, clang::serialization::STMT_LABEL, clang::serialization::STMT_MSASM, clang::serialization::STMT_NULL, clang::serialization::STMT_NULL_PTR, clang::serialization::STMT_OBJC_AT_SYNCHRONIZED, clang::serialization::STMT_OBJC_AT_THROW, clang::serialization::STMT_OBJC_AT_TRY, clang::serialization::STMT_OBJC_CATCH, clang::serialization::STMT_OBJC_FINALLY, clang::serialization::STMT_OBJC_FOR_COLLECTION, clang::serialization::STMT_REF_PTR, clang::serialization::STMT_RETURN, clang::serialization::STMT_STOP, clang::serialization::STMT_SWITCH, and clang::serialization::STMT_WHILE.
static const char* adjustFilenameForRelocatablePCH | ( | const char * | Filename, |
StringRef | isysroot | ||
) | [static] |
Adjusts the given filename to only write out the portion of the filename that is not part of the system root directory.
Filename | the file name to adjust. |
isysroot | When non-NULL, the PCH file is a relocatable PCH file and the returned filename will be adjusted by this system root. |
Filename
parameter). Definition at line 1072 of file ASTWriter.cpp.
static int compareMacroDirectives | ( | const std::pair< const IdentifierInfo *, MacroDirective * > * | X, |
const std::pair< const IdentifierInfo *, MacroDirective * > * | Y | ||
) | [static] |
Definition at line 1987 of file ASTWriter.cpp.
static unsigned CreateSLocBufferAbbrev | ( | llvm::BitstreamWriter & | Stream | ) | [static] |
Create an abbreviation for the SLocEntry that refers to a buffer.
Definition at line 1526 of file ASTWriter.cpp.
References clang::serialization::SM_SLOC_BUFFER_ENTRY.
static unsigned CreateSLocBufferBlobAbbrev | ( | llvm::BitstreamWriter & | Stream | ) | [static] |
Create an abbreviation for the SLocEntry that refers to a buffer's blob.
Definition at line 1540 of file ASTWriter.cpp.
References clang::serialization::SM_SLOC_BUFFER_BLOB.
static unsigned CreateSLocExpansionAbbrev | ( | llvm::BitstreamWriter & | Stream | ) | [static] |
Create an abbreviation for the SLocEntry that refers to a macro expansion.
Definition at line 1550 of file ASTWriter.cpp.
References clang::serialization::SM_SLOC_EXPANSION_ENTRY.
static unsigned CreateSLocFileAbbrev | ( | llvm::BitstreamWriter & | Stream | ) | [static] |
Create an abbreviation for the SLocEntry that refers to a file.
Definition at line 1508 of file ASTWriter.cpp.
References clang::serialization::SM_SLOC_FILE_ENTRY.
static StringRef data | ( | const std::vector< T, Allocator > & | v | ) | [static] |
Definition at line 63 of file ASTWriter.cpp.
Referenced by clang::CXXRecordDecl::bases_begin(), clang::CXXRecordDecl::bases_end(), clang::CodeGen::CodeGenFunction::OpaqueValueMappingData::bind(), clang::CXXRecordDecl::completeDefinition(), clang::driver::tools::openbsd::Assemble::ConstructJob(), clang::driver::tools::freebsd::Assemble::ConstructJob(), clang::driver::tools::netbsd::Assemble::ConstructJob(), clang::CXXRecordDecl::conversion_begin(), clang::CXXRecordDecl::conversion_end(), clang::PTHManager::CreateLexer(), clang::CXXRecordDecl::defaultedDefaultConstructorIsConstexpr(), clang::CXXRecordDecl::finishedDefaultedOrDeletedMember(), clang::AnalysisDeclContext::getAnalysis(), clang::ento::SymbolManager::getCastSymbol(), clang::ento::MemRegionManager::getElementRegion(), clang::ento::SymbolManager::getIntSymExpr(), clang::ConcreteTypeLoc< UnqualTypeLoc, ReferenceTypeLoc, ReferenceType, PointerLikeLocInfo >::getNonLocalData(), clang::CXXRecordDecl::getNumBases(), clang::CXXRecordDecl::getNumVBases(), clang::ento::SymbolManager::getSymIntExpr(), clang::ento::SymbolManager::getSymSymExpr(), clang::CXXRecordDecl::getVisibleConversionFunctions(), clang::CXXRecordDecl::hasConstexprDefaultConstructor(), clang::CXXRecordDecl::hasConstexprNonCopyMoveConstructor(), clang::CXXRecordDecl::hasCopyAssignmentWithConstParam(), clang::CXXRecordDecl::hasCopyConstructorWithConstParam(), clang::CXXRecordDecl::hasDefaultConstructor(), clang::CXXRecordDecl::hasFriends(), clang::CXXRecordDecl::hasInClassInitializer(), clang::CXXRecordDecl::hasIrrelevantDestructor(), clang::CXXRecordDecl::hasMoveAssignment(), clang::CXXRecordDecl::hasMoveConstructor(), clang::CXXRecordDecl::hasMutableFields(), clang::CXXRecordDecl::hasNonLiteralTypeFieldsOrBases(), clang::CXXRecordDecl::hasNonTrivialCopyAssignment(), clang::CXXRecordDecl::hasNonTrivialCopyConstructor(), clang::CXXRecordDecl::hasNonTrivialDefaultConstructor(), clang::CXXRecordDecl::hasNonTrivialDestructor(), clang::CXXRecordDecl::hasNonTrivialMoveAssignment(), clang::CXXRecordDecl::hasNonTrivialMoveConstructor(), clang::CXXRecordDecl::hasSimpleDestructor(), clang::CXXRecordDecl::hasSimpleMoveAssignment(), clang::CXXRecordDecl::hasSimpleMoveConstructor(), clang::CXXRecordDecl::hasTrivialCopyAssignment(), clang::CXXRecordDecl::hasTrivialCopyConstructor(), clang::CXXRecordDecl::hasTrivialDefaultConstructor(), clang::CXXRecordDecl::hasTrivialDestructor(), clang::CXXRecordDecl::hasTrivialMoveAssignment(), clang::CXXRecordDecl::hasTrivialMoveConstructor(), clang::CXXRecordDecl::hasUninitializedReferenceMember(), clang::CXXRecordDecl::hasUserDeclaredConstructor(), clang::CXXRecordDecl::hasUserDeclaredCopyAssignment(), clang::CXXRecordDecl::hasUserDeclaredCopyConstructor(), clang::CXXRecordDecl::hasUserDeclaredDestructor(), clang::CXXRecordDecl::hasUserDeclaredMoveAssignment(), clang::CXXRecordDecl::hasUserDeclaredMoveConstructor(), clang::CXXRecordDecl::hasUserDeclaredMoveOperation(), clang::CXXRecordDecl::hasUserProvidedDefaultConstructor(), clang::CXXRecordDecl::hasVariantMembers(), clang::CXXRecordDecl::implicitCopyAssignmentHasConstParam(), clang::CXXRecordDecl::implicitCopyConstructorHasConstParam(), clang::CXXRecordDecl::isAbstract(), clang::CXXRecordDecl::isAggregate(), clang::CXXRecordDecl::isCLike(), clang::CXXRecordDecl::isDynamicClass(), clang::CXXRecordDecl::isEmpty(), clang::CXXRecordDecl::isParsingBaseSpecifiers(), clang::CXXRecordDecl::isPOD(), clang::CXXRecordDecl::isPolymorphic(), clang::CXXRecordDecl::isStandardLayout(), clang::CXXRecordDecl::mayBeAbstract(), clang::CXXRecordDecl::needsImplicitCopyAssignment(), clang::CXXRecordDecl::needsImplicitCopyConstructor(), clang::CXXRecordDecl::needsImplicitDefaultConstructor(), clang::CXXRecordDecl::needsImplicitDestructor(), clang::CXXRecordDecl::needsImplicitMoveAssignment(), clang::CXXRecordDecl::needsImplicitMoveConstructor(), clang::CXXRecordDecl::needsOverloadResolutionForCopyAssignment(), clang::CXXRecordDecl::needsOverloadResolutionForCopyConstructor(), clang::CXXRecordDecl::needsOverloadResolutionForDestructor(), clang::CXXRecordDecl::needsOverloadResolutionForMoveAssignment(), clang::CXXRecordDecl::needsOverloadResolutionForMoveConstructor(), clang::CXXRecordDecl::pushFriendDecl(), clang::CXXRecordDecl::removeConversion(), clang::CXXRecordDecl::setBases(), clang::CXXRecordDecl::setImplicitMoveAssignmentIsDeleted(), clang::CXXRecordDecl::setImplicitMoveConstructorIsDeleted(), clang::CXXRecordDecl::setIsParsingBaseSpecifiers(), clang::CXXRecordDecl::vbases_begin(), and clang::CXXRecordDecl::vbases_end().
static StringRef data | ( | const SmallVectorImpl< T > & | v | ) | [static] |
Definition at line 70 of file ASTWriter.cpp.
static void EmitBlockID | ( | unsigned | ID, |
const char * | Name, | ||
llvm::BitstreamWriter & | Stream, | ||
ASTWriter::RecordDataImpl & | Record | ||
) | [static] |
Definition at line 703 of file ASTWriter.cpp.
static void EmitRecordID | ( | unsigned | ID, |
const char * | Name, | ||
llvm::BitstreamWriter & | Stream, | ||
ASTWriter::RecordDataImpl & | Record | ||
) | [static] |
Definition at line 719 of file ASTWriter.cpp.
static NamedDecl* getDeclForLocalLookup | ( | NamedDecl * | D | ) | [static] |
Determine the declaration that should be put into the name lookup table to represent the given declaration in this module. This is usually D itself, but if D was imported and merged into a local declaration, we want the most recent local declaration instead. The chosen declaration will be the most recent declaration in any module that imports this one.
Definition at line 3506 of file ASTWriter.cpp.
References clang::Decl::getCanonicalDecl(), clang::Decl::getPreviousDecl(), and clang::Decl::isFromASTFile().
Referenced by clang::ASTWriter::AddUpdatedDeclContext().
static unsigned getNumberOfModules | ( | Module * | Mod | ) | [static] |
Compute the number of modules within the given tree (including the given module).
Definition at line 2349 of file ASTWriter.cpp.
References clang::Module::submodule_begin(), and clang::Module::submodule_end().
static ASTFileSignature getSignature | ( | ) | [static] |
Definition at line 1097 of file ASTWriter.cpp.
References S.
static bool shouldIgnoreMacro | ( | MacroDirective * | MD, |
bool | IsModule, | ||
const Preprocessor & | PP | ||
) | [static] |
Definition at line 1993 of file ASTWriter.cpp.
References clang::SourceManager::getFileID(), clang::MacroDirective::getLocation(), clang::MacroDirective::getMacroInfo(), clang::Preprocessor::getPredefinesFileID(), clang::Preprocessor::getSourceManager(), clang::MacroDirective::isImported(), and clang::SourceLocation::isInvalid().
static void visitLocalLookupResults | ( | const DeclContext * | ConstDC, |
bool | NeedToReconcileExternalVisibleStorage, | ||
Visitor | AddLookupResult | ||
) | [static] |
Definition at line 3651 of file ASTWriter.cpp.
References clang::DeclContext::buildLookup(), clang::DeclContext::getPrimaryContext(), and clang::DeclContext::lookup().
Referenced by clang::ASTWriter::AddUpdatedDeclContext().