Lines Matching refs:decl

67                                         clang::Decl *decl) {  in CopyDecl()  argument
70 clang::ASTContext *src_ast = &decl->getASTContext(); in CopyDecl()
78 llvm::Expected<clang::Decl *> result = delegate_sp->Import(decl); in CopyDecl()
84 ClangASTMetadata *metadata = GetDeclMetadata(decl); in CopyDecl()
88 if (NamedDecl *named_decl = dyn_cast<NamedDecl>(decl)) in CopyDecl()
92 decl->getDeclKindName(), named_decl->getNameAsString(), in CopyDecl()
98 decl->getDeclKindName(), user_id); in CopyDecl()
115 void OverrideOne(clang::Decl *decl) { in OverrideOne() argument
116 if (m_backups.contains(decl)) { in OverrideOne()
120 m_backups[decl] = {decl->getDeclContext(), decl->getLexicalDeclContext()}; in OverrideOne()
122 decl->setDeclContext(decl->getASTContext().getTranslationUnitDecl()); in OverrideOne()
123 decl->setLexicalDeclContext(decl->getASTContext().getTranslationUnitDecl()); in OverrideOne()
127 clang::Decl *decl, clang::DeclContext *base, in ChainPassesThrough() argument
130 for (DeclContext *decl_ctx = (decl->*contextFromDecl)(); decl_ctx; in ChainPassesThrough()
140 clang::Decl *GetEscapedChild(clang::Decl *decl, in GetEscapedChild() argument
145 if (!ChainPassesThrough(decl, base, &clang::Decl::getDeclContext, in GetEscapedChild()
147 !ChainPassesThrough(decl, base, &clang::Decl::getLexicalDeclContext, in GetEscapedChild()
149 return decl; in GetEscapedChild()
152 base = clang::dyn_cast<clang::DeclContext>(decl); in GetEscapedChild()
160 clang::dyn_cast<clang::DeclContext>(decl)) { in GetEscapedChild()
161 for (clang::Decl *decl : context->decls()) { in GetEscapedChild()
162 if (clang::Decl *escaped_child = GetEscapedChild(decl)) { in GetEscapedChild()
171 void Override(clang::Decl *decl) { in Override() argument
172 if (clang::Decl *escaped_child = GetEscapedChild(decl)) { in Override()
178 decl->getDeclKindName(), decl, escaped_child->getDeclKindName(), in Override()
183 OverrideOne(decl); in Override()
189 void OverrideAllDeclsFromContainingFunction(clang::Decl *decl) { in OverrideAllDeclsFromContainingFunction() argument
190 for (DeclContext *decl_context = decl->getLexicalDeclContext(); in OverrideAllDeclsFromContainingFunction()
249 NamedDecl *decl = m_decls_to_complete.pop_back_val(); in ~CompleteTagDeclsScope() local
250 m_decls_already_completed.insert(decl); in ~CompleteTagDeclsScope()
254 assert(to_context_md->hasOrigin(decl)); in ~CompleteTagDeclsScope()
256 assert(to_context_md->getOrigin(decl).ctx == m_src_ctx); in ~CompleteTagDeclsScope()
258 Decl *original_decl = to_context_md->getOrigin(decl).decl; in ~CompleteTagDeclsScope()
262 if (auto *tag_decl = dyn_cast<TagDecl>(decl)) { in ~CompleteTagDeclsScope()
272 } else if (auto *container_decl = dyn_cast<ObjCContainerDecl>(decl)) { in ~CompleteTagDeclsScope()
277 to_context_md->removeOrigin(decl); in ~CompleteTagDeclsScope()
329 clang::Decl *decl) { in DeportDecl() argument
332 clang::ASTContext *src_ctx = &decl->getASTContext(); in DeportDecl()
336 decl->getDeclKindName(), decl, src_ctx, dst_ctx); in DeportDecl()
340 decl_context_override.OverrideAllDeclsFromContainingFunction(decl); in DeportDecl()
345 result = CopyDecl(dst_ctx, decl); in DeportDecl()
354 decl->getDeclKindName(), decl, result->getDeclKindName(), result); in DeportDecl()
549 void ClangASTImporter::SetRecordLayout(clang::RecordDecl *decl, in SetRecordLayout() argument
551 m_record_decl_to_layout_map.insert(std::make_pair(decl, layout)); in SetRecordLayout()
554 bool ClangASTImporter::CompleteTagDecl(clang::TagDecl *decl) { in CompleteTagDecl() argument
555 DeclOrigin decl_origin = GetDeclOrigin(decl); in CompleteTagDecl()
560 if (!TypeSystemClang::GetCompleteDecl(decl_origin.ctx, decl_origin.decl)) in CompleteTagDecl()
564 GetDelegate(&decl->getASTContext(), decl_origin.ctx)); in CompleteTagDecl()
567 &decl->getASTContext()); in CompleteTagDecl()
569 delegate_sp->ImportDefinitionTo(decl, decl_origin.decl); in CompleteTagDecl()
574 bool ClangASTImporter::CompleteTagDeclWithOrigin(clang::TagDecl *decl, in CompleteTagDeclWithOrigin() argument
582 GetDelegate(&decl->getASTContext(), origin_ast_ctx)); in CompleteTagDeclWithOrigin()
585 delegate_sp->ImportDefinitionTo(decl, origin_decl); in CompleteTagDeclWithOrigin()
587 ASTContextMetadataSP context_md = GetContextMetadata(&decl->getASTContext()); in CompleteTagDeclWithOrigin()
589 context_md->setOrigin(decl, DeclOrigin(origin_ast_ctx, origin_decl)); in CompleteTagDeclWithOrigin()
600 if (!TypeSystemClang::GetCompleteDecl(decl_origin.ctx, decl_origin.decl)) in CompleteObjCInterfaceDecl()
607 delegate_sp->ImportDefinitionTo(interface_decl, decl_origin.decl); in CompleteObjCInterfaceDecl()
635 TagDecl *origin_tag_decl = llvm::dyn_cast<TagDecl>(decl_origin.decl); in CompleteAndFetchChildren()
665 llvm::dyn_cast<ObjCInterfaceDecl>(decl_origin.decl); in CompleteAndFetchChildren()
711 ClangASTMetadata *ClangASTImporter::GetDeclMetadata(const clang::Decl *decl) { in GetDeclMetadata() argument
712 DeclOrigin decl_origin = GetDeclOrigin(decl); in GetDeclMetadata()
716 return ast->GetMetadata(decl_origin.decl); in GetDeclMetadata()
718 TypeSystemClang *ast = TypeSystemClang::GetASTContext(&decl->getASTContext()); in GetDeclMetadata()
719 return ast->GetMetadata(decl); in GetDeclMetadata()
723 ClangASTImporter::GetDeclOrigin(const clang::Decl *decl) { in GetDeclOrigin() argument
724 ASTContextMetadataSP context_md = GetContextMetadata(&decl->getASTContext()); in GetDeclOrigin()
726 return context_md->getOrigin(decl); in GetDeclOrigin()
729 void ClangASTImporter::SetDeclOrigin(const clang::Decl *decl, in SetDeclOrigin() argument
731 ASTContextMetadataSP context_md = GetContextMetadata(&decl->getASTContext()); in SetDeclOrigin()
733 decl, DeclOrigin(&original_decl->getASTContext(), original_decl)); in SetDeclOrigin()
736 void ClangASTImporter::RegisterNamespaceMap(const clang::NamespaceDecl *decl, in RegisterNamespaceMap() argument
738 ASTContextMetadataSP context_md = GetContextMetadata(&decl->getASTContext()); in RegisterNamespaceMap()
740 context_md->m_namespace_maps[decl] = namespace_map; in RegisterNamespaceMap()
744 ClangASTImporter::GetNamespaceMap(const clang::NamespaceDecl *decl) { in GetNamespaceMap() argument
745 ASTContextMetadataSP context_md = GetContextMetadata(&decl->getASTContext()); in GetNamespaceMap()
749 NamespaceMetaMap::iterator iter = namespace_maps.find(decl); in GetNamespaceMap()
756 void ClangASTImporter::BuildNamespaceMap(const clang::NamespaceDecl *decl) { in BuildNamespaceMap() argument
757 assert(decl); in BuildNamespaceMap()
758 ASTContextMetadataSP context_md = GetContextMetadata(&decl->getASTContext()); in BuildNamespaceMap()
760 const DeclContext *parent_context = decl->getDeclContext(); in BuildNamespaceMap()
773 std::string namespace_string = decl->getDeclName().getAsString(); in BuildNamespaceMap()
779 context_md->m_namespace_maps[decl] = new_map; in BuildNamespaceMap()
831 assert(origin.decl != From && "Origin points to itself?"); in ImportImpl()
843 RegisterImportedDecl(From, origin.decl); in ImportImpl()
844 return origin.decl; in ImportImpl()
857 auto R = m_main.CopyDecl(&getToContext(), origin.decl); in ImportImpl()
1084 origin.decl, origin.ctx, &from->getASTContext(), in Imported()
1170 return m_main.GetDeclOrigin(To).decl; in GetOriginalDecl()