Lines Matching refs:decl
96 clang::Decl *decl) { in CopyDecl() argument
102 clang::Decl *result = minion_sp->Import(decl); in CopyDecl()
109 ClangASTMetadata *metadata = GetDeclMetadata(decl); in CopyDecl()
113 if (NamedDecl *named_decl = dyn_cast<NamedDecl>(decl)) in CopyDecl()
116 decl->getDeclKindName(), in CopyDecl()
121 decl->getDeclKindName(), user_id); in CopyDecl()
140 void OverrideOne(clang::Decl *decl) { in OverrideOne() argument
141 if (m_backups.find(decl) != m_backups.end()) { in OverrideOne()
145 m_backups[decl] = {decl->getDeclContext(), decl->getLexicalDeclContext()}; in OverrideOne()
147 decl->setDeclContext(decl->getASTContext().getTranslationUnitDecl()); in OverrideOne()
148 decl->setLexicalDeclContext(decl->getASTContext().getTranslationUnitDecl()); in OverrideOne()
152 clang::Decl *decl, clang::DeclContext *base, in ChainPassesThrough() argument
155 for (DeclContext *decl_ctx = (decl->*contextFromDecl)(); decl_ctx; in ChainPassesThrough()
165 clang::Decl *GetEscapedChild(clang::Decl *decl, in GetEscapedChild() argument
170 if (!ChainPassesThrough(decl, base, &clang::Decl::getDeclContext, in GetEscapedChild()
172 !ChainPassesThrough(decl, base, &clang::Decl::getLexicalDeclContext, in GetEscapedChild()
174 return decl; in GetEscapedChild()
177 base = clang::dyn_cast<clang::DeclContext>(decl); in GetEscapedChild()
185 clang::dyn_cast<clang::DeclContext>(decl)) { in GetEscapedChild()
186 for (clang::Decl *decl : context->decls()) { in GetEscapedChild()
187 if (clang::Decl *escaped_child = GetEscapedChild(decl)) { in GetEscapedChild()
196 void Override(clang::Decl *decl) { in Override() argument
197 if (clang::Decl *escaped_child = GetEscapedChild(decl)) { in Override()
203 decl->getDeclKindName(), static_cast<void *>(decl), in Override()
209 OverrideOne(decl); in Override()
215 void OverrideAllDeclsFromContainingFunction(clang::Decl *decl) { in OverrideAllDeclsFromContainingFunction() argument
216 for (DeclContext *decl_context = decl->getLexicalDeclContext(); in OverrideAllDeclsFromContainingFunction()
280 clang::Decl *decl) { in DeportDecl() argument
286 decl->getDeclKindName(), static_cast<void *>(decl), in DeportDecl()
299 decl_context_override.OverrideAllDeclsFromContainingFunction(decl); in DeportDecl()
303 clang::Decl *result = CopyDecl(dst_ctx, src_ctx, decl); in DeportDecl()
313 decl->getDeclKindName(), static_cast<void *>(decl), in DeportDecl()
514 void ClangASTImporter::InsertRecordDecl(clang::RecordDecl *decl, in InsertRecordDecl() argument
516 m_record_decl_to_layout_map.insert(std::make_pair(decl, layout)); in InsertRecordDecl()
519 void ClangASTImporter::CompleteDecl(clang::Decl *decl) { in CompleteDecl() argument
524 decl->getDeclKindName(), static_cast<void *>(decl)); in CompleteDecl()
526 if (ObjCInterfaceDecl *interface_decl = dyn_cast<ObjCInterfaceDecl>(decl)) { in CompleteDecl()
532 dyn_cast<ObjCProtocolDecl>(decl)) { in CompleteDecl()
535 } else if (TagDecl *tag_decl = dyn_cast<TagDecl>(decl)) { in CompleteDecl()
546 bool ClangASTImporter::CompleteTagDecl(clang::TagDecl *decl) { in CompleteTagDecl() argument
549 DeclOrigin decl_origin = GetDeclOrigin(decl); in CompleteTagDecl()
554 if (!ClangASTContext::GetCompleteDecl(decl_origin.ctx, decl_origin.decl)) in CompleteTagDecl()
557 MinionSP minion_sp(GetMinion(&decl->getASTContext(), decl_origin.ctx)); in CompleteTagDecl()
560 minion_sp->ImportDefinitionTo(decl, decl_origin.decl); in CompleteTagDecl()
565 bool ClangASTImporter::CompleteTagDeclWithOrigin(clang::TagDecl *decl, in CompleteTagDeclWithOrigin() argument
574 MinionSP minion_sp(GetMinion(&decl->getASTContext(), origin_ast_ctx)); in CompleteTagDeclWithOrigin()
577 minion_sp->ImportDefinitionTo(decl, origin_decl); in CompleteTagDeclWithOrigin()
579 ASTContextMetadataSP context_md = GetContextMetadata(&decl->getASTContext()); in CompleteTagDeclWithOrigin()
583 origins[decl] = DeclOrigin(origin_ast_ctx, origin_decl); in CompleteTagDeclWithOrigin()
597 if (!ClangASTContext::GetCompleteDecl(decl_origin.ctx, decl_origin.decl)) in CompleteObjCInterfaceDecl()
604 minion_sp->ImportDefinitionTo(interface_decl, decl_origin.decl); in CompleteObjCInterfaceDecl()
626 TagDecl *origin_tag_decl = llvm::dyn_cast<TagDecl>(decl_origin.decl); in CompleteAndFetchChildren()
651 llvm::dyn_cast<ObjCInterfaceDecl>(decl_origin.decl); in CompleteAndFetchChildren()
695 ClangASTMetadata *ClangASTImporter::GetDeclMetadata(const clang::Decl *decl) { in GetDeclMetadata() argument
696 DeclOrigin decl_origin = GetDeclOrigin(decl); in GetDeclMetadata()
699 return ClangASTContext::GetMetadata(decl_origin.ctx, decl_origin.decl); in GetDeclMetadata()
701 return ClangASTContext::GetMetadata(&decl->getASTContext(), decl); in GetDeclMetadata()
705 ClangASTImporter::GetDeclOrigin(const clang::Decl *decl) { in GetDeclOrigin() argument
706 ASTContextMetadataSP context_md = GetContextMetadata(&decl->getASTContext()); in GetDeclOrigin()
710 OriginMap::iterator iter = origins.find(decl); in GetDeclOrigin()
718 void ClangASTImporter::SetDeclOrigin(const clang::Decl *decl, in SetDeclOrigin() argument
720 ASTContextMetadataSP context_md = GetContextMetadata(&decl->getASTContext()); in SetDeclOrigin()
724 OriginMap::iterator iter = origins.find(decl); in SetDeclOrigin()
727 iter->second.decl = original_decl; in SetDeclOrigin()
730 origins[decl] = DeclOrigin(&original_decl->getASTContext(), original_decl); in SetDeclOrigin()
734 void ClangASTImporter::RegisterNamespaceMap(const clang::NamespaceDecl *decl, in RegisterNamespaceMap() argument
736 ASTContextMetadataSP context_md = GetContextMetadata(&decl->getASTContext()); in RegisterNamespaceMap()
738 context_md->m_namespace_maps[decl] = namespace_map; in RegisterNamespaceMap()
742 ClangASTImporter::GetNamespaceMap(const clang::NamespaceDecl *decl) { in GetNamespaceMap() argument
743 ASTContextMetadataSP context_md = GetContextMetadata(&decl->getASTContext()); in GetNamespaceMap()
747 NamespaceMetaMap::iterator iter = namespace_maps.find(decl); in GetNamespaceMap()
755 void ClangASTImporter::BuildNamespaceMap(const clang::NamespaceDecl *decl) { in BuildNamespaceMap() argument
756 assert(decl); in BuildNamespaceMap()
757 ASTContextMetadataSP context_md = GetContextMetadata(&decl->getASTContext()); in BuildNamespaceMap()
759 const DeclContext *parent_context = decl->getDeclContext(); in BuildNamespaceMap()
772 std::string namespace_string = decl->getDeclName().getAsString(); in BuildNamespaceMap()
778 context_md->m_namespace_maps[decl] = new_map; in BuildNamespaceMap()
836 NamedDecl *decl = *m_decls_to_deport->begin(); in ExecuteDeportWorkQueues() local
838 m_decls_already_deported->insert(decl); in ExecuteDeportWorkQueues()
839 m_decls_to_deport->erase(decl); in ExecuteDeportWorkQueues()
841 DeclOrigin &origin = to_context_md->m_origins[decl]; in ExecuteDeportWorkQueues()
848 Decl *original_decl = to_context_md->m_origins[decl].decl; in ExecuteDeportWorkQueues()
852 if (TagDecl *tag_decl = dyn_cast<TagDecl>(decl)) { in ExecuteDeportWorkQueues()
863 dyn_cast<ObjCContainerDecl>(decl)) { in ExecuteDeportWorkQueues()
868 to_context_md->m_origins.erase(decl); in ExecuteDeportWorkQueues()
990 direct_completer->ASTImporter::Imported(origin_iter->second.decl, to); in Imported()
996 static_cast<void *>(origin_iter->second.decl), in Imported()
1114 return const_cast<clang::Decl *>(iter->second.decl); in GetOriginalDecl()