Lines Matching defs:FromD

154     ChildErrorHandlingStrategy(const Decl *FromD)
155 : FromDC(dyn_cast<DeclContext>(FromD)),
156 IgnoreChildErrors(!isa<TagDecl>(FromD)) {}
244 // the `FromD` had been imported before.
246 [[nodiscard]] bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
252 return GetImportedOrCreateSpecialDecl(ToD, OC, FromD,
259 // GetImportedOrCreateDecl<TypeAliasDecl>(ToTypedef, FromD, ...);
262 [[nodiscard]] bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
265 return GetImportedOrCreateSpecialDecl(ToD, OC, FromD,
274 FromDeclT *FromD, Args &&...args) {
275 if (Importer.getImportDeclErrorIfAny(FromD)) {
279 ToD = cast_or_null<ToDeclT>(Importer.GetAlreadyImportedOrNull(FromD));
284 Importer.RegisterImportedDecl(FromD, ToD);
286 InitializeImportedDecl(FromD, ToD);
290 void InitializeImportedDecl(Decl *FromD, Decl *ToD) {
291 ToD->IdentifierNamespace = FromD->IdentifierNamespace;
292 if (FromD->isUsed())
294 if (FromD->isImplicit())
308 void addDeclToContexts(Decl *FromD, Decl *ToD) {
313 if (!FromD->getDescribedTemplate() &&
314 FromD->getFriendObjectKind() == Decl::FOK_None)
319 DeclContext *FromDC = FromD->getDeclContext();
320 DeclContext *FromLexicalDC = FromD->getLexicalDeclContext();
325 if (FromDC->containsDeclAndLoad(FromD)) {
329 if (ToDC != ToLexicalDC && FromLexicalDC->containsDeclAndLoad(FromD)) {
337 if (auto *FromNamed = dyn_cast<NamedDecl>(FromD)) {
381 Error ImportDefinitionIfNeeded(Decl *FromD, Decl *ToD = nullptr);
448 Error ImportTemplateParameterLists(const DeclTy *FromD, DeclTy *ToD);
924 for (Decl *FromD : DG) {
925 if (auto ToDOrErr = import(FromD))
1945 Error ASTNodeImporter::ImportDefinitionIfNeeded(Decl *FromD, Decl *ToD) {
1946 if (!FromD)
1950 if (Error Err = importInto(ToD, FromD))
1953 if (RecordDecl *FromRecord = dyn_cast<RecordDecl>(FromD)) {
1964 if (EnumDecl *FromEnum = dyn_cast<EnumDecl>(FromD)) {
2166 Decl *FromD, DeclContext *&ToDC, DeclContext *&ToLexicalDC) {
2167 auto ToDCOrErr = Importer.ImportContext(FromD->getDeclContext());
2172 if (FromD->getDeclContext() != FromD->getLexicalDeclContext()) {
2174 FromD->getLexicalDeclContext());
3336 Error ASTNodeImporter::ImportTemplateParameterLists(const DeclTy *FromD,
3338 unsigned int Num = FromD->getNumTemplateParameterLists();
3344 import(FromD->getTemplateParameterList(I)))
9039 Expected<Decl *> ASTImporter::ImportImpl(Decl *FromD) {
9042 return Importer.Visit(FromD);
9045 void ASTImporter::RegisterImportedDecl(Decl *FromD, Decl *ToD) {
9046 MapImported(FromD, ToD);
9393 Decl *ASTImporter::GetAlreadyImportedOrNull(const Decl *FromD) const {
9394 return ImportedDecls.lookup(FromD);
9404 Error ASTImporter::ImportAttrs(Decl *ToD, Decl *FromD) {
9405 if (!FromD->hasAttrs() || ToD->hasAttrs())
9407 for (const Attr *FromAttr : FromD->getAttrs()) {
9417 Expected<Decl *> ASTImporter::Import(Decl *FromD) {
9418 if (!FromD)
9421 // Push FromD to the stack, and remove that when we return.
9422 ImportPath.push(FromD);
9428 if (auto Error = getImportDeclErrorIfAny(FromD))
9432 Decl *ToD = GetAlreadyImportedOrNull(FromD);
9436 setImportDeclError(FromD, *Error);
9440 // If FromD has some updated flags after last import, apply it.
9441 updateFlags(FromD, ToD);
9445 SavedImportPaths[FromD].push_back(ImportPath.copyCycleAtBack());
9450 ExpectedDecl ToDOrErr = ImportImpl(FromD);
9454 auto Pos = ImportedDecls.find(FromD);
9492 setImportDeclError(FromD, ErrOut);
9499 for (const auto &Path : SavedImportPaths[FromD]) {
9502 Decl *PrevFromDi = FromD;
9504 // Begin and end of the path equals 'FromD', skip it.
9505 if (FromDi == FromD)
9523 SavedImportPaths.erase(FromD);
9536 auto Err = getImportDeclErrorIfAny(FromD);
9545 setImportDeclError(FromD, *Error);
9549 assert(ImportedDecls.count(FromD) != 0 && "Missing call to MapImported?");
9550 if (auto Error = ImportAttrs(ToD, FromD))
9554 Imported(FromD, ToD);
9556 updateFlags(FromD, ToD);
9557 SavedImportPaths.erase(FromD);
10471 ASTImporter::getImportDeclErrorIfAny(Decl *FromD) const {
10472 auto Pos = ImportDeclErrors.find(FromD);