|
clang
5.0.0
|
#include "clang/Frontend/ASTUnit.h"#include "clang/AST/ASTConsumer.h"#include "clang/AST/ASTContext.h"#include "clang/AST/DeclVisitor.h"#include "clang/AST/StmtVisitor.h"#include "clang/AST/TypeOrdering.h"#include "clang/Basic/Diagnostic.h"#include "clang/Basic/MemoryBufferCache.h"#include "clang/Basic/TargetInfo.h"#include "clang/Basic/TargetOptions.h"#include "clang/Basic/VirtualFileSystem.h"#include "clang/Frontend/CompilerInstance.h"#include "clang/Frontend/FrontendActions.h"#include "clang/Frontend/FrontendDiagnostic.h"#include "clang/Frontend/FrontendOptions.h"#include "clang/Frontend/MultiplexConsumer.h"#include "clang/Frontend/Utils.h"#include "clang/Lex/HeaderSearch.h"#include "clang/Lex/Preprocessor.h"#include "clang/Lex/PreprocessorOptions.h"#include "clang/Sema/Sema.h"#include "clang/Serialization/ASTReader.h"#include "clang/Serialization/ASTWriter.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/StringSet.h"#include "llvm/Support/CrashRecoveryContext.h"#include "llvm/Support/Host.h"#include "llvm/Support/MemoryBuffer.h"#include "llvm/Support/Mutex.h"#include "llvm/Support/MutexGuard.h"#include "llvm/Support/Timer.h"#include "llvm/Support/raw_ostream.h"#include <atomic>#include <cstdio>#include <cstdlib>Go to the source code of this file.
Classes | |
| struct | clang::ASTUnit::ASTWriterData |
Typedefs | |
| typedef ContinuousRangeMap < unsigned, int, 2 > | SLocRemap |
Functions | |
| static unsigned | getDeclShowContexts (const NamedDecl *ND, const LangOptions &LangOpts, bool &IsNestedNameSpecifier) |
| Determine the set of code-completion contexts in which this declaration should be shown. More... | |
| static ASTUnit::StandaloneDiagnostic | makeStandaloneDiagnostic (const LangOptions &LangOpts, const StoredDiagnostic &InDiag) |
| static bool | isNonDriverDiag (const StoredDiagnostic &StoredDiag) |
| static void | checkAndRemoveNonDriverDiags (SmallVectorImpl< StoredDiagnostic > &StoredDiags) |
| static void | checkAndSanitizeDiags (SmallVectorImpl< StoredDiagnostic > &StoredDiagnostics, SourceManager &SM) |
| static std::pair< unsigned, unsigned > | makeStandaloneRange (CharSourceRange Range, const SourceManager &SM, const LangOptions &LangOpts) |
| static ASTUnit::StandaloneFixIt | makeStandaloneFixIt (const SourceManager &SM, const LangOptions &LangOpts, const FixItHint &InFix) |
| static void | CalculateHiddenNames (const CodeCompletionContext &Context, CodeCompletionResult *Results, unsigned NumResults, ASTContext &Ctx, llvm::StringSet< llvm::BumpPtrAllocator > &HiddenNames) |
| Helper function that computes which global names are hidden by the local code-completion results. More... | |
| static bool | serializeUnit (ASTWriter &Writer, SmallVectorImpl< char > &Buffer, Sema &S, bool hasErrors, raw_ostream &OS) |
Variables | |
| const unsigned | DefaultPreambleRebuildInterval = 5 |
| After failing to build a precompiled preamble (due to errors in the source that occurs in the preamble), the number of reparses during which we'll skip even trying to precompile the preamble. More... | |
| static std::atomic< unsigned > | ActiveASTUnitObjects |
| Tracks the number of ASTUnit objects that are currently active. More... | |
| typedef ContinuousRangeMap<unsigned, int, 2> SLocRemap |
Definition at line 2236 of file ASTUnit.cpp.
|
static |
Helper function that computes which global names are hidden by the local code-completion results.
Definition at line 1856 of file ASTUnit.cpp.
References clang::CodeCompletionContext::CCC_ArrowMemberAccess, clang::CodeCompletionContext::CCC_ClassOrStructTag, clang::CodeCompletionContext::CCC_ClassStructUnion, clang::CodeCompletionContext::CCC_DotMemberAccess, clang::CodeCompletionContext::CCC_EnumTag, clang::CodeCompletionContext::CCC_Expression, clang::CodeCompletionContext::CCC_MacroName, clang::CodeCompletionContext::CCC_MacroNameUse, clang::CodeCompletionContext::CCC_Name, clang::CodeCompletionContext::CCC_Namespace, clang::CodeCompletionContext::CCC_NaturalLanguage, clang::CodeCompletionContext::CCC_ObjCCategoryName, clang::CodeCompletionContext::CCC_ObjCClassMessage, clang::CodeCompletionContext::CCC_ObjCImplementation, clang::CodeCompletionContext::CCC_ObjCInstanceMessage, clang::CodeCompletionContext::CCC_ObjCInterface, clang::CodeCompletionContext::CCC_ObjCInterfaceName, clang::CodeCompletionContext::CCC_ObjCIvarList, clang::CodeCompletionContext::CCC_ObjCMessageReceiver, clang::CodeCompletionContext::CCC_ObjCPropertyAccess, clang::CodeCompletionContext::CCC_ObjCProtocolName, clang::CodeCompletionContext::CCC_Other, clang::CodeCompletionContext::CCC_OtherWithMacros, clang::CodeCompletionContext::CCC_ParenthesizedExpression, clang::CodeCompletionContext::CCC_PotentiallyQualifiedName, clang::CodeCompletionContext::CCC_PreprocessorDirective, clang::CodeCompletionContext::CCC_PreprocessorExpression, clang::CodeCompletionContext::CCC_Recovery, clang::CodeCompletionContext::CCC_SelectorName, clang::CodeCompletionContext::CCC_Statement, clang::CodeCompletionContext::CCC_TopLevel, clang::CodeCompletionContext::CCC_Type, clang::CodeCompletionContext::CCC_TypeQualifiers, clang::CodeCompletionContext::CCC_UnionTag, clang::CodeCompletionResult::Declaration, clang::DeclarationName::getAsIdentifierInfo(), clang::DeclarationName::getAsString(), clang::NamedDecl::getDeclName(), clang::Decl::getIdentifierNamespace(), clang::CodeCompletionContext::getKind(), clang::ASTContext::getLangOpts(), clang::NamedDecl::getUnderlyingDecl(), I, clang::Decl::IDNS_Member, clang::Decl::IDNS_Namespace, clang::Decl::IDNS_NonMemberOperator, clang::Decl::IDNS_Ordinary, clang::Decl::IDNS_Tag, clang::Decl::IDNS_Type, and Name.
|
static |
Definition at line 984 of file ASTUnit.cpp.
References isNonDriverDiag().
|
static |
Definition at line 992 of file ASTUnit.cpp.
References SM.
|
static |
Determine the set of code-completion contexts in which this declaration should be shown.
Definition at line 234 of file ASTUnit.cpp.
References clang::CodeCompletionContext::CCC_ClassOrStructTag, clang::CodeCompletionContext::CCC_ClassStructUnion, clang::CodeCompletionContext::CCC_EnumTag, clang::CodeCompletionContext::CCC_Expression, clang::CodeCompletionContext::CCC_Namespace, clang::CodeCompletionContext::CCC_ObjCCategoryName, clang::CodeCompletionContext::CCC_ObjCInterfaceName, clang::CodeCompletionContext::CCC_ObjCIvarList, clang::CodeCompletionContext::CCC_ObjCMessageReceiver, clang::CodeCompletionContext::CCC_ObjCProtocolName, clang::CodeCompletionContext::CCC_ParenthesizedExpression, clang::CodeCompletionContext::CCC_Statement, clang::CodeCompletionContext::CCC_TopLevel, clang::CodeCompletionContext::CCC_Type, clang::CodeCompletionContext::CCC_UnionTag, Contexts, and clang::NamedDecl::getUnderlyingDecl().
|
static |
Definition at line 979 of file ASTUnit.cpp.
References clang::StoredDiagnostic::getLocation(), and clang::SourceLocation::isValid().
Referenced by checkAndRemoveNonDriverDiags().
|
static |
Definition at line 1163 of file ASTUnit.cpp.
References clang::ASTUnit::StandaloneDiagnostic::Filename, clang::frontend::FixIt, clang::ASTUnit::StandaloneDiagnostic::FixIts, clang::SourceManager::getFileLoc(), clang::SourceManager::getFilename(), clang::SourceManager::getFileOffset(), clang::StoredDiagnostic::getFixIts(), clang::StoredDiagnostic::getID(), clang::StoredDiagnostic::getLevel(), clang::StoredDiagnostic::getLocation(), clang::FullSourceLoc::getManager(), clang::StoredDiagnostic::getMessage(), clang::StoredDiagnostic::getRanges(), clang::ASTUnit::StandaloneDiagnostic::ID, clang::SourceLocation::isInvalid(), clang::ASTUnit::StandaloneDiagnostic::Level, clang::ASTUnit::StandaloneDiagnostic::LocOffset, makeStandaloneFixIt(), makeStandaloneRange(), clang::ASTUnit::StandaloneDiagnostic::Message, clang::ASTUnit::StandaloneDiagnostic::Ranges, and SM.
|
static |
Definition at line 1150 of file ASTUnit.cpp.
References clang::ASTUnit::StandaloneFixIt::BeforePreviousInsertions, clang::FixItHint::BeforePreviousInsertions, clang::ASTUnit::StandaloneFixIt::CodeToInsert, clang::FixItHint::CodeToInsert, clang::FixItHint::InsertFromRange, clang::ASTUnit::StandaloneFixIt::InsertFromRange, makeStandaloneRange(), clang::FixItHint::RemoveRange, and clang::ASTUnit::StandaloneFixIt::RemoveRange.
Referenced by makeStandaloneDiagnostic().
|
static |
Definition at line 1142 of file ASTUnit.cpp.
References clang::CharSourceRange::getBegin(), clang::CharSourceRange::getEnd(), clang::SourceManager::getFileOffset(), and clang::Lexer::makeFileCharRange().
Referenced by makeStandaloneDiagnostic(), and makeStandaloneFixIt().
|
static |
Definition at line 2207 of file ASTUnit.cpp.
References clang::ASTWriter::WriteAST().
Referenced by clang::ASTUnit::serialize().
|
static |
Tracks the number of ASTUnit objects that are currently active.
Used for debugging purposes only.
Definition at line 183 of file ASTUnit.cpp.
Referenced by clang::ASTUnit::~ASTUnit().
| const unsigned DefaultPreambleRebuildInterval = 5 |
After failing to build a precompiled preamble (due to errors in the source that occurs in the preamble), the number of reparses during which we'll skip even trying to precompile the preamble.
Definition at line 178 of file ASTUnit.cpp.
1.8.6