Lines Matching full:clang
12 #include "clang/Basic/Module.h"
13 #include "clang/Sema/Lookup.h"
14 #include "clang/Sema/MultiplexExternalSemaSource.h"
15 #include "clang/Sema/Sema.h"
16 #include "clang/Sema/SemaConsumer.h"
22 class ExternalASTSourceWrapper : public clang::ExternalSemaSource {
32 clang::Decl *GetExternalDecl(uint32_t ID) override { in GetExternalDecl()
36 clang::Selector GetExternalSelector(uint32_t ID) override { in GetExternalSelector()
44 clang::Stmt *GetExternalDeclStmt(uint64_t Offset) override { in GetExternalDeclStmt()
48 clang::CXXCtorInitializer **
53 clang::CXXBaseSpecifier *
58 void updateOutOfDateIdentifier(clang::IdentifierInfo &II) override { in updateOutOfDateIdentifier()
62 bool FindExternalVisibleDeclsByName(const clang::DeclContext *DC, in FindExternalVisibleDeclsByName()
63 clang::DeclarationName Name) override { in FindExternalVisibleDeclsByName()
67 void completeVisibleDeclsMap(const clang::DeclContext *DC) override { in completeVisibleDeclsMap()
71 clang::Module *getModule(unsigned ID) override { in getModule()
75 llvm::Optional<clang::ASTSourceDescriptor>
80 ExtKind hasExternalDefinitions(const clang::Decl *D) override { in hasExternalDefinitions()
85 const clang::DeclContext *DC, in FindExternalLexicalDecls()
86 llvm::function_ref<bool(clang::Decl::Kind)> IsKindWeWant, in FindExternalLexicalDecls()
87 llvm::SmallVectorImpl<clang::Decl *> &Result) override { in FindExternalLexicalDecls()
92 FindFileRegionDecls(clang::FileID File, unsigned Offset, unsigned Length, in FindFileRegionDecls()
93 llvm::SmallVectorImpl<clang::Decl *> &Decls) override { in FindFileRegionDecls()
97 void CompleteRedeclChain(const clang::Decl *D) override { in CompleteRedeclChain()
101 void CompleteType(clang::TagDecl *Tag) override { in CompleteType()
105 void CompleteType(clang::ObjCInterfaceDecl *Class) override { in CompleteType()
115 void StartTranslationUnit(clang::ASTConsumer *Consumer) override { in StartTranslationUnit()
122 const clang::RecordDecl *Record, uint64_t &Size, uint64_t &Alignment, in layoutRecordType()
123 llvm::DenseMap<const clang::FieldDecl *, uint64_t> &FieldOffsets, in layoutRecordType()
124 llvm::DenseMap<const clang::CXXRecordDecl *, clang::CharUnits> in layoutRecordType()
126 llvm::DenseMap<const clang::CXXRecordDecl *, clang::CharUnits> in layoutRecordType()
136 class ASTConsumerForwarder : public clang::SemaConsumer {
137 clang::ASTConsumer *m_c;
138 clang::SemaConsumer *m_sc;
141 ASTConsumerForwarder(clang::ASTConsumer *c) : m_c(c) { in ASTConsumerForwarder()
142 m_sc = llvm::dyn_cast<clang::SemaConsumer>(m_c); in ASTConsumerForwarder()
147 void Initialize(clang::ASTContext &Context) override { in Initialize()
151 bool HandleTopLevelDecl(clang::DeclGroupRef D) override { in HandleTopLevelDecl()
155 void HandleInlineFunctionDefinition(clang::FunctionDecl *D) override { in HandleInlineFunctionDefinition()
159 void HandleInterestingDecl(clang::DeclGroupRef D) override { in HandleInterestingDecl()
163 void HandleTranslationUnit(clang::ASTContext &Ctx) override { in HandleTranslationUnit()
167 void HandleTagDeclDefinition(clang::TagDecl *D) override { in HandleTagDeclDefinition()
171 void HandleTagDeclRequiredDefinition(const clang::TagDecl *D) override { in HandleTagDeclRequiredDefinition()
175 void HandleCXXImplicitFunctionInstantiation(clang::FunctionDecl *D) override { in HandleCXXImplicitFunctionInstantiation()
179 void HandleTopLevelDeclInObjCContainer(clang::DeclGroupRef D) override { in HandleTopLevelDeclInObjCContainer()
183 void HandleImplicitImportDecl(clang::ImportDecl *D) override { in HandleImplicitImportDecl()
187 void CompleteTentativeDefinition(clang::VarDecl *D) override { in CompleteTentativeDefinition()
191 void AssignInheritanceModel(clang::CXXRecordDecl *RD) override { in AssignInheritanceModel()
195 void HandleCXXStaticMemberVarInstantiation(clang::VarDecl *D) override { in HandleCXXStaticMemberVarInstantiation()
199 void HandleVTable(clang::CXXRecordDecl *RD) override { in HandleVTable()
203 clang::ASTMutationListener *GetASTMutationListener() override { in GetASTMutationListener()
207 clang::ASTDeserializationListener *GetASTDeserializationListener() override { in GetASTDeserializationListener()
213 void InitializeSema(clang::Sema &S) override { in InitializeSema()
224 bool shouldSkipFunctionBody(clang::Decl *D) override { in shouldSkipFunctionBody()
242 class SemaSourceWithPriorities : public clang::ExternalSemaSource {
246 llvm::SmallVector<clang::ExternalSemaSource *, 2> Sources;
252 SemaSourceWithPriorities(clang::ExternalSemaSource &high_quality_source, in SemaSourceWithPriorities()
253 clang::ExternalSemaSource &low_quality_source) { in SemaSourceWithPriorities()
260 void addSource(clang::ExternalSemaSource &source) { in addSource()
268 clang::Decl *GetExternalDecl(uint32_t ID) override { in GetExternalDecl()
270 if (clang::Decl *Result = Sources[i]->GetExternalDecl(ID)) in GetExternalDecl()
275 void CompleteRedeclChain(const clang::Decl *D) override { in CompleteRedeclChain()
280 clang::Selector GetExternalSelector(uint32_t ID) override { in GetExternalSelector()
281 clang::Selector Sel; in GetExternalSelector()
297 clang::Stmt *GetExternalDeclStmt(uint64_t Offset) override { in GetExternalDeclStmt()
299 if (clang::Stmt *Result = Sources[i]->GetExternalDeclStmt(Offset)) in GetExternalDeclStmt()
304 clang::CXXBaseSpecifier *
307 if (clang::CXXBaseSpecifier *R = in GetExternalCXXBaseSpecifiers()
313 clang::CXXCtorInitializer **
321 ExtKind hasExternalDefinitions(const clang::Decl *D) override { in hasExternalDefinitions()
329 bool FindExternalVisibleDeclsByName(const clang::DeclContext *DC, in FindExternalVisibleDeclsByName()
330 clang::DeclarationName Name) override { in FindExternalVisibleDeclsByName()
337 void completeVisibleDeclsMap(const clang::DeclContext *DC) override { in completeVisibleDeclsMap()
344 const clang::DeclContext *DC, in FindExternalLexicalDecls()
345 llvm::function_ref<bool(clang::Decl::Kind)> IsKindWeWant, in FindExternalLexicalDecls()
346 llvm::SmallVectorImpl<clang::Decl *> &Result) override { in FindExternalLexicalDecls()
355 FindFileRegionDecls(clang::FileID File, unsigned Offset, unsigned Length, in FindFileRegionDecls()
356 llvm::SmallVectorImpl<clang::Decl *> &Decls) override { in FindFileRegionDecls()
361 void CompleteType(clang::TagDecl *Tag) override { in CompleteType()
362 for (clang::ExternalSemaSource *S : Sources) { in CompleteType()
370 void CompleteType(clang::ObjCInterfaceDecl *Class) override { in CompleteType()
390 void StartTranslationUnit(clang::ASTConsumer *Consumer) override { in StartTranslationUnit()
397 clang::Module *getModule(unsigned ID) override { in getModule()
405 const clang::RecordDecl *Record, uint64_t &Size, uint64_t &Alignment, in layoutRecordType()
406 llvm::DenseMap<const clang::FieldDecl *, uint64_t> &FieldOffsets, in layoutRecordType()
407 llvm::DenseMap<const clang::CXXRecordDecl *, clang::CharUnits> in layoutRecordType()
409 llvm::DenseMap<const clang::CXXRecordDecl *, clang::CharUnits> in layoutRecordType()
427 void InitializeSema(clang::Sema &S) override { in InitializeSema()
437 void ReadMethodPool(clang::Selector Sel) override { in ReadMethodPool()
442 void updateOutOfDateSelector(clang::Selector Sel) override { in updateOutOfDateSelector()
448 llvm::SmallVectorImpl<clang::NamespaceDecl *> &Namespaces) override { in ReadKnownNamespaces()
454 llvm::MapVector<clang::NamedDecl *, clang::SourceLocation> &Undefined) in ReadUndefinedButUsed()
461 llvm::MapVector<clang::FieldDecl *, in ReadMismatchingDeleteExpressions()
462 llvm::SmallVector<std::pair<clang::SourceLocation, bool>, in ReadMismatchingDeleteExpressions()
468 bool LookupUnqualified(clang::LookupResult &R, clang::Scope *S) override { in LookupUnqualified()
479 llvm::SmallVectorImpl<clang::VarDecl *> &Defs) override { in ReadTentativeDefinitions()
485 llvm::SmallVectorImpl<const clang::DeclaratorDecl *> &Decls) override { in ReadUnusedFileScopedDecls()
491 llvm::SmallVectorImpl<clang::CXXConstructorDecl *> &Decls) override { in ReadDelegatingConstructors()
497 llvm::SmallVectorImpl<clang::TypedefNameDecl *> &Decls) override { in ReadExtVectorDecls()
503 llvm::SmallSetVector<const clang::TypedefNameDecl *, 4> &Decls) override { in ReadUnusedLocalTypedefNameCandidates()
509 llvm::SmallVectorImpl<std::pair<clang::Selector, clang::SourceLocation>> in ReadReferencedSelectors()
516 llvm::SmallVectorImpl<std::pair<clang::IdentifierInfo *, clang::WeakInfo>> in ReadWeakUndeclaredIdentifiers()
523 llvm::SmallVectorImpl<clang::ExternalVTableUse> &VTables) override { in ReadUsedVTables()
530 std::pair<clang::ValueDecl *, clang::SourceLocation>> &Pending) in ReadPendingInstantiations()
537 llvm::MapVector<const clang::FunctionDecl *, in ReadLateParsedTemplates()
538 std::unique_ptr<clang::LateParsedTemplate>> &LPTMap) in ReadLateParsedTemplates()
544 clang::TypoCorrection
545 CorrectTypo(const clang::DeclarationNameInfo &Typo, int LookupKind, in CorrectTypo()
546 clang::Scope *S, clang::CXXScopeSpec *SS, in CorrectTypo()
547 clang::CorrectionCandidateCallback &CCC, in CorrectTypo()
548 clang::DeclContext *MemberContext, bool EnteringContext, in CorrectTypo()
549 const clang::ObjCObjectPointerType *OPT) override { in CorrectTypo()
551 if (clang::TypoCorrection C = in CorrectTypo()
556 return clang::TypoCorrection(); in CorrectTypo()
559 bool MaybeDiagnoseMissingCompleteType(clang::SourceLocation Loc, in MaybeDiagnoseMissingCompleteType()
560 clang::QualType T) override { in MaybeDiagnoseMissingCompleteType()